Merge remote-tracking branch 'origin/master'

master
shaoyong 10 months ago
commit 3a4b21d435

@ -1,11 +0,0 @@
#for test only!
#Fri Feb 02 11:11:00 CST 2024
jco.destination.pool_capacity=true
jco.client.lang=zh
jco.client.ashost=192.168.0.130
jco.client.saprouter=
jco.client.user=MES
jco.client.sysnr=0
jco.destination.peak_limit=20
jco.client.passwd=123456
jco.client.client=800

@ -73,6 +73,185 @@ Caused by: java.lang.NullPointerException
... 63 more
**** Error file opened at 20240111 164451 China Standard Time Rel 3.0.8 (2011-11-28) [721.913]
Error: >Thu Jan 11 16:44:51,560< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 16:44:55,319< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 16:49:04,522< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 16:49:08,215< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 16:50:08,396< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 16:50:12,521< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 16:52:25,915< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 16:52:29,518< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 16:54:16,079< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 16:54:19,679< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 16:54:22,525< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 16:54:26,108< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 16:55:32,052< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 16:55:35,705< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 16:56:23,406< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 16:56:27,066< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 16:59:45,369< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 16:59:49,619< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 17:00:18,266< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 17:00:28,280< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 17:05:06,677< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 17:07:27,288< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 17:09:50,015< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 17:11:35,473< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 17:11:53,389< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 17:13:32,715< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 17:13:53,701< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 17:14:44,332< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 17:15:58,852< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 17:18:02,274< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 17:18:50,315< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 17:20:44,293< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 17:25:11,895< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 17:34:46,104< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 17:35:39,742< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 17:36:24,165< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 17:38:10,872< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 17:41:09,642< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 17:41:59,356< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 17:42:51,751< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 17:45:34,021< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 17:46:14,888< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 17:47:26,853< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 17:50:17,775< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 17:53:12,231< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 17:54:03,321< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 17:56:27,055< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 17:57:53,784< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 17:58:20,978< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 17:59:33,781< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 18:00:54,567< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 18:01:36,649< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 18:01:48,844< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 18:02:31,503< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 18:03:26,898< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 18:04:24,525< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 18:05:48,654< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 18:07:20,674< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Thu Jan 11 18:08:23,214< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
**** Error file opened at 20231214 151538 China Standard Time Rel 3.0.8 (2011-11-28) [721.619]
Error: >Thu Dec 14 15:15:38,905< >RfcGetException rc (7) message: Invalid value in OPTION field of value table for IN itab operator. operator.
<RfcGetException
@ -325,3 +504,54 @@ COUNTER 2
Error: >Thu Jan 25 18:04:22,996< >RfcGetException rc (7) message: ## 600 ########
<RfcGetException
**** Error file opened at 20240228 095123 China Standard Time Rel 3.0.8 (2011-11-28) [721.913]
Error: >Wed Feb 28 09:51:23,384< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
**** Error file opened at 20240228 095524 China Standard Time Rel 3.0.8 (2011-11-28) [721.913]
Error: >Wed Feb 28 09:55:24,676< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
Error: >Wed Feb 28 09:56:02,286< >RfcGetException rc (7) message: ## 800 ########
<RfcGetException
**** Error file opened at 20240311 161617 China Standard Time Rel 3.0.8 (2011-11-28) [721.913]
Error: >Mon Mar 11 16:16:17,464< >RfcGetException rc (3) message: CPIC-CALL: CMRCV on convId: 17090475
ERROR connection to partner '192.168.0.54:3300' broken
TIME Mon Mar 11 16:16:17 2024
RELEASE 721
COMPONENT NI (network interface)
VERSION 40
RC -6
MODULE nixxi.cpp
LINE 4851
DETAIL NiIRead: P=192.168.0.54:3300; L=2.0.0.1:62053
SYSTEM CALL recv
COUNTER 3
<RfcGetException
Error: [1] >Mon Mar 11 16:16:17,467< RfcException: [QAS|erpqos]
message: CPIC-CALL: CMRCV on convId: 17090475
ERROR connection to partner '192.168.0.54:3300' broken
TIME Mon Mar 11 16:16:17 2024
RELEASE 721
COMPONENT NI (network interface)
VERSION 40
RC -6
MODULE nixxi.cpp
LINE 4851
DETAIL NiIRead: P=192.168.0.54:3300; L=2.0.0.1:62053
SYSTEM CALL recv
COUNTER 3
Return code: RFC_SYS_EXCEPTION(3)
error group: 102
key: RFC_ERROR_COMMUNICATION
Exception raised by QAS|erpqos

@ -12,11 +12,11 @@ spring:
cloud:
nacos:
discovery:
# username: nacos
# password: sfnacos2023
# username: nacos
# password: sfnacos2023
# 服务注册地址
#--spring.cloud.nacos.discovery.namespace=chj --spring.cloud.nacos.config.namespace=chj
# namespace: lanju-op-test
# namespace: lanju-op-test
namespace: lanju-op-test
group: test
# 服务注册地址

@ -13,8 +13,8 @@ spring:
cloud:
nacos:
discovery:
# username: nacos
# password: sfnacos2023
# username: nacos
# password: sfnacos2023
namespace: lanju-op-test
group: test
# 服务注册地址

@ -104,13 +104,13 @@ public class EquEquipment extends BaseEntity {
* 3
*/
@Excel(name = "预留字段3")
private Long attr3;
private String attr3;
/**
* 4
*/
@Excel(name = "预留字段4")
private Long attr4;
private String attr4;
/**
*
@ -394,19 +394,19 @@ public class EquEquipment extends BaseEntity {
return attr2;
}
public void setAttr3(Long attr3) {
public void setAttr3(String attr3) {
this.attr3 = attr3;
}
public Long getAttr3() {
public String getAttr3() {
return attr3;
}
public void setAttr4(Long attr4) {
public void setAttr4(String attr4) {
this.attr4 = attr4;
}
public Long getAttr4() {
public String getAttr4() {
return attr4;
}

@ -96,13 +96,13 @@ public class Equipment extends BaseEntity {
* 3
*/
@Excel(name = "预留字段3")
private Long attr3;
private String attr3;
/**
* 4
*/
@Excel(name = "预留字段4")
private Long attr4;
private String attr4;
/**
*
@ -347,19 +347,19 @@ public class Equipment extends BaseEntity {
return attr2;
}
public void setAttr3(Long attr3) {
public void setAttr3(String attr3) {
this.attr3 = attr3;
}
public Long getAttr3() {
public String getAttr3() {
return attr3;
}
public void setAttr4(Long attr4) {
public void setAttr4(String attr4) {
this.attr4 = attr4;
}
public Long getAttr4() {
public String getAttr4() {
return attr4;
}

@ -13,11 +13,13 @@ spring:
cloud:
nacos:
discovery:
#命名空间
namespace: lanju-op-test
group: test
# 服务注册地址
server-addr: 192.168.202.20:8848
config:
#命名空间
namespace: lanju-op-test
group: test
# 服务注册地址

@ -13,11 +13,13 @@ spring:
cloud:
nacos:
discovery:
#命名空间
namespace: lanju-op-test
group: test
# 服务注册地址
server-addr: 192.168.202.20:8848
config:
#命名空间
namespace: lanju-op-test
group: test
# 服务注册地址

@ -12,13 +12,13 @@ spring:
cloud:
nacos:
discovery:
# 服务注册地址
#命名空间
namespace: lanju-op-test
group: test
# 服务注册地址
server-addr: 192.168.202.20:8848
config:
# 配置中心地址
#命名空间
namespace: lanju-op-test
group: test
# 服务注册地址

@ -13,17 +13,16 @@ spring:
cloud:
nacos:
discovery:
namespace: lanju-op-test
group: test
namespace: lanju-op
group: zxl
# 服务注册地址
server-addr: 192.168.202.20:8848
server-addr: 175.27.215.92:8848
config:
#命名空间
namespace: lanju-op-test
group: test
namespace: lanju-op
group: zxl
# 服务注册地址
# server-addr: 192.168.202.20:8848
server-addr: 192.168.202.20:8848
server-addr: 175.27.215.92:8848
# 配置文件格式
file-extension: yml
# 共享配置

@ -13,11 +13,13 @@ spring:
cloud:
nacos:
discovery:
#命名空间
namespace: lanju-op-test
group: test
# 服务注册地址
server-addr: 192.168.202.20:8848
config:
#命名空间
namespace: lanju-op-test
group: test
# 服务注册地址

@ -1,8 +1,13 @@
package com.op.mes.controller;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import com.op.common.core.domain.ExcelCol;
import com.op.common.core.utils.poi.ExcelMapUtil;
import com.op.common.core.utils.poi.ExcelUtil;
import com.op.common.core.web.controller.BaseController;
import com.op.common.core.web.domain.AjaxResult;
@ -12,6 +17,7 @@ import com.op.common.security.annotation.RequiresPermissions;
import com.op.mes.domain.BaseProductAttached;
import com.op.mes.service.IBaseProductAttachedService;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@ -22,6 +28,7 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.op.common.log.annotation.Log;
import org.springframework.web.multipart.MultipartFile;
/**
* Controller
@ -83,7 +90,12 @@ public class BaseProductAttachedController extends BaseController
@PostMapping
public AjaxResult add(@RequestBody BaseProductAttached baseProductAttached)
{
return toAjax(baseProductAttachedService.insertBaseProductAttached(baseProductAttached));
if (baseProductAttachedService.checkSpareCodeUnique(baseProductAttached)) {
return AjaxResult.error("备品备件编码已存在!");
} else {
return toAjax(baseProductAttachedService.insertBaseProductAttached(baseProductAttached));
}
}
/**
@ -109,4 +121,82 @@ public class BaseProductAttachedController extends BaseController
{
return toAjax(baseProductAttachedService.deleteBaseProductAttachedByIds(ids));
}
/**
*
*
* @param response
* @throws IOException
*/
@PostMapping("/importTemplate")
@Log(title = "生成备品备件信息模板", businessType = BusinessType.EXPORT)
public void importTemplate(HttpServletResponse response) throws IOException {
ArrayList<ExcelCol> excelCols = new ArrayList<>();
excelCols.add(new ExcelCol("产品编号", "productCode", 20));
excelCols.add(new ExcelCol("品类", "category", 20));
excelCols.add(new ExcelCol("每PC单圈", "pc", 20));
excelCols.add(new ExcelCol("标准效率", "iei", 20));
excelCols.add(new ExcelCol("标准用人", "manStandar", 20));
excelCols.add(new ExcelCol("喷药方式", "sprayWay", 20));
excelCols.add(new ExcelCol("白坯直径", "blankDiameter", 20));
excelCols.add(new ExcelCol("白坯物料号", "blankNo", 20));
excelCols.add(new ExcelCol("标准喷药量", "sprayVolume", 20));
excelCols.add(new ExcelCol("药液料号", "liquidNo", 20));
excelCols.add(new ExcelCol("标准内膜用量", "endometrialDosage", 20));
excelCols.add(new ExcelCol("标准外模用量(KG/PC)", "outerFilmDosage", 20));
excelCols.add(new ExcelCol("支架", "support", 20));
excelCols.add(new ExcelCol("支架物料号", "supportNo", 20));
excelCols.add(new ExcelCol("吸塑", "pvc", 20));
excelCols.add(new ExcelCol("支架盘", "supportPlate", 20));
excelCols.add(new ExcelCol("创建人", "createBy", 20));
excelCols.add(new ExcelCol("库检周期", "warehouseCycle", 20));
excelCols.add(new ExcelCol("托盘上箱数", "palletNum", 20));
excelCols.add(new ExcelCol("垛形", "packType", 20));
String titleName = "物料附属信息导入";
SXSSFWorkbook workbook = null;
try {
//设置响应头
response.setHeader("Content-disposition",
"attachment; filename=" + titleName);
response.setContentType("application/octet-stream;charset=UTF-8");
ServletOutputStream outputStream = response.getOutputStream();
//调用工具类
workbook = ExcelMapUtil.initWorkbook(titleName, null, excelCols, null);
workbook.write(outputStream);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (workbook != null) {
workbook.dispose();
}
}
}
/**
*
*
* @param file
* @return
* @throws Exception
*/
@Log(title = "导入物料基本信息", businessType = BusinessType.IMPORT)
@PostMapping("/importFile")
@RequiresPermissions("mes:attached:import")
public AjaxResult importFile(MultipartFile file) throws Exception {
// 创建接收对象
ExcelUtil<BaseProductAttached> util = new ExcelUtil<>(BaseProductAttached.class);
// 接收表格信息
List<BaseProductAttached> orderList = util.importExcel(file.getInputStream());
return baseProductAttachedService.importFile(orderList);
}
}

@ -54,7 +54,7 @@ public class BaseProductAttached extends BaseEntity
private String blankNo;
/** 标准喷药量KG/PC */
@Excel(name = "标准喷药量", readConverterExp = "K=G/PC")
@Excel(name = "标准喷药量")
private BigDecimal sprayVolume;
/** 药液料号 */
@ -62,7 +62,7 @@ public class BaseProductAttached extends BaseEntity
private String liquidNo;
/** 标准内膜用量KG/PC */
@Excel(name = "标准内膜用量", readConverterExp = "K=G/PC")
@Excel(name = "标准内膜用量")
private BigDecimal endometrialDosage;
/** 标准外模用量(KG/PC) */
@ -89,191 +89,225 @@ public class BaseProductAttached extends BaseEntity
@Excel(name = "其它")
private String other;
public void setId(String id)
{
/** 创建人 */
@Excel(name = "创建人")
private String createBy;
/** 库检周期 */
@Excel(name = "库检周期")
private String warehouseCycle;
/** 托盘上箱数 */
@Excel(name = "托盘上箱数")
private BigDecimal palletNum;
/** 垛形 */
@Excel(name = "垛形")
private String packType;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getId()
{
return id;
public String getProductCode() {
return productCode;
}
public void setProductCode(String productCode)
{
public void setProductCode(String productCode) {
this.productCode = productCode;
}
public String getProductCode()
{
return productCode;
public String getCategory() {
return category;
}
public void setCategory(String category)
{
public void setCategory(String category) {
this.category = category;
}
public String getCategory()
{
return category;
public String getPc() {
return pc;
}
public void setPc(String pc)
{
public void setPc(String pc) {
this.pc = pc;
}
public String getPc()
{
return pc;
public BigDecimal getIei() {
return iei;
}
public void setIei(BigDecimal iei)
{
public void setIei(BigDecimal iei) {
this.iei = iei;
}
public BigDecimal getIei()
{
return iei;
public BigDecimal getManStandar() {
return manStandar;
}
public void setManStandar(BigDecimal manStandar)
{
public void setManStandar(BigDecimal manStandar) {
this.manStandar = manStandar;
}
public BigDecimal getManStandar()
{
return manStandar;
public String getSprayWay() {
return sprayWay;
}
public void setSprayWay(String sprayWay)
{
public void setSprayWay(String sprayWay) {
this.sprayWay = sprayWay;
}
public String getSprayWay()
{
return sprayWay;
public BigDecimal getBlankDiameter() {
return blankDiameter;
}
public void setBlankDiameter(BigDecimal blankDiameter)
{
public void setBlankDiameter(BigDecimal blankDiameter) {
this.blankDiameter = blankDiameter;
}
public BigDecimal getBlankDiameter()
{
return blankDiameter;
public String getBlankNo() {
return blankNo;
}
public void setBlankNo(String blankNo)
{
public void setBlankNo(String blankNo) {
this.blankNo = blankNo;
}
public String getBlankNo()
{
return blankNo;
public BigDecimal getSprayVolume() {
return sprayVolume;
}
public void setSprayVolume(BigDecimal sprayVolume)
{
public void setSprayVolume(BigDecimal sprayVolume) {
this.sprayVolume = sprayVolume;
}
public BigDecimal getSprayVolume()
{
return sprayVolume;
public String getLiquidNo() {
return liquidNo;
}
public void setLiquidNo(String liquidNo)
{
public void setLiquidNo(String liquidNo) {
this.liquidNo = liquidNo;
}
public String getLiquidNo()
{
return liquidNo;
public BigDecimal getEndometrialDosage() {
return endometrialDosage;
}
public void setEndometrialDosage(BigDecimal endometrialDosage)
{
public void setEndometrialDosage(BigDecimal endometrialDosage) {
this.endometrialDosage = endometrialDosage;
}
public BigDecimal getEndometrialDosage()
{
return endometrialDosage;
public BigDecimal getOuterFilmDosage() {
return outerFilmDosage;
}
public void setOuterFilmDosage(BigDecimal outerFilmDosage)
{
public void setOuterFilmDosage(BigDecimal outerFilmDosage) {
this.outerFilmDosage = outerFilmDosage;
}
public BigDecimal getOuterFilmDosage()
{
return outerFilmDosage;
public Long getSupport() {
return support;
}
public void setSupport(Long support)
{
public void setSupport(Long support) {
this.support = support;
}
public Long getSupport()
{
return support;
public String getSupportNo() {
return supportNo;
}
public void setSupportNo(String supportNo)
{
public void setSupportNo(String supportNo) {
this.supportNo = supportNo;
}
public String getSupportNo()
{
return supportNo;
public Long getPvc() {
return pvc;
}
public void setPvc(Long pvc)
{
public void setPvc(Long pvc) {
this.pvc = pvc;
}
public Long getPvc()
{
return pvc;
public Long getSupportPlate() {
return supportPlate;
}
public void setSupportPlate(Long supportPlate)
{
public void setSupportPlate(Long supportPlate) {
this.supportPlate = supportPlate;
}
public Long getSupportPlate()
{
return supportPlate;
public String getOther() {
return other;
}
public void setOther(String other)
{
public void setOther(String other) {
this.other = other;
}
public String getOther()
{
return other;
@Override
public String getCreateBy() {
return createBy;
}
@Override
public void setCreateBy(String createBy) {
this.createBy = createBy;
}
public String getWarehouseCycle() {
return warehouseCycle;
}
public void setWarehouseCycle(String warehouseCycle) {
this.warehouseCycle = warehouseCycle;
}
public BigDecimal getPalletNum() {
return palletNum;
}
public void setPalletNum(BigDecimal palletNum) {
this.palletNum = palletNum;
}
public String getPackType() {
return packType;
}
public void setPackType(String packType) {
this.packType = packType;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("productCode", getProductCode())
.append("category", getCategory())
.append("pc", getPc())
.append("iei", getIei())
.append("manStandar", getManStandar())
.append("sprayWay", getSprayWay())
.append("blankDiameter", getBlankDiameter())
.append("blankNo", getBlankNo())
.append("sprayVolume", getSprayVolume())
.append("liquidNo", getLiquidNo())
.append("endometrialDosage", getEndometrialDosage())
.append("outerFilmDosage", getOuterFilmDosage())
.append("support", getSupport())
.append("supportNo", getSupportNo())
.append("pvc", getPvc())
.append("supportPlate", getSupportPlate())
.append("other", getOther())
.append("createBy", getCreateBy())
.toString();
return "BaseProductAttached{" +
"id='" + id + '\'' +
", productCode='" + productCode + '\'' +
", category='" + category + '\'' +
", pc='" + pc + '\'' +
", iei=" + iei +
", manStandar=" + manStandar +
", sprayWay='" + sprayWay + '\'' +
", blankDiameter=" + blankDiameter +
", blankNo='" + blankNo + '\'' +
", sprayVolume=" + sprayVolume +
", liquidNo='" + liquidNo + '\'' +
", endometrialDosage=" + endometrialDosage +
", outerFilmDosage=" + outerFilmDosage +
", support=" + support +
", supportNo='" + supportNo + '\'' +
", pvc=" + pvc +
", supportPlate=" + supportPlate +
", other='" + other + '\'' +
", createBy='" + createBy + '\'' +
", warehouseCycle='" + warehouseCycle + '\'' +
", palletNum=" + palletNum +
", packType='" + packType + '\'' +
'}';
}
}

@ -59,4 +59,9 @@ public interface BaseProductAttachedMapper
* @return
*/
public int deleteBaseProductAttachedByIds(String[] ids);
BaseProductAttached selectBaseProductAttachedByProductCode(String productCode);
//检查productCode
String checkSpareCodeUnique(BaseProductAttached baseProductAttached);
}

@ -3,6 +3,7 @@ package com.op.mes.service;
import java.util.List;
import com.op.common.core.web.domain.AjaxResult;
import com.op.mes.domain.BaseProductAttached;
@ -61,4 +62,8 @@ public interface IBaseProductAttachedService
* @return
*/
public int deleteBaseProductAttachedById(String id);
AjaxResult importFile(List<BaseProductAttached> list);
boolean checkSpareCodeUnique(BaseProductAttached baseProductAttached);
}

@ -4,12 +4,25 @@ import java.util.List;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.op.common.core.utils.DateUtils;
import com.op.common.core.utils.StringUtils;
import com.op.common.core.utils.uuid.IdUtils;
import com.op.common.core.web.domain.AjaxResult;
import com.op.common.security.utils.SecurityUtils;
import com.op.mes.domain.BaseProductAttached;
import com.op.mes.mapper.BaseProductAttachedMapper;
import com.op.mes.service.IBaseProductAttachedService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import static com.op.common.core.web.domain.AjaxResult.error;
import static com.op.common.core.web.domain.AjaxResult.success;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
@ -24,6 +37,8 @@ public class BaseProductAttachedServiceImpl implements IBaseProductAttachedServi
@Autowired
private BaseProductAttachedMapper baseProductAttachedMapper;
protected Logger logger = LoggerFactory.getLogger(getClass());
/**
*
*
@ -62,6 +77,7 @@ public class BaseProductAttachedServiceImpl implements IBaseProductAttachedServi
{
baseProductAttached.setId(IdUtils.fastSimpleUUID());
baseProductAttached.setCreateTime(DateUtils.getNowDate());
baseProductAttached.setCreateBy(SecurityUtils.getUsername());
return baseProductAttachedMapper.insertBaseProductAttached(baseProductAttached);
}
@ -104,4 +120,171 @@ public class BaseProductAttachedServiceImpl implements IBaseProductAttachedServi
{
return baseProductAttachedMapper.deleteBaseProductAttachedById(id);
}
/**
*
* @param baseProductAttached
* @return
*/
@Override
@DS("#header.poolName")
@Transactional
public AjaxResult importFile(List<BaseProductAttached> baseProductAttached) {
BaseProductAttached example=null;
for (BaseProductAttached table : baseProductAttached) {
table.setId(IdUtils.fastSimpleUUID());
table.setCreateBy(SecurityUtils.getUsername());
}
//数据校验
// 数据校验
AjaxResult checkResult = checkImportFile(baseProductAttached);
// 如果数据校验成功
if (checkResult.isSuccess()) {
String info = syncImportFunc(baseProductAttached);
return success("信息导入完成。其中导入失败的信息:" + info);
}
// 校验失败
return checkResult;
}
private String syncImportFunc(List<BaseProductAttached> baseProductAttached) {
String failEquipment = "";
for (BaseProductAttached table : baseProductAttached) {
String msg = syncFunc(table);
if (StringUtils.isNotBlank(msg)) {
failEquipment += msg + ",";
}
}
return failEquipment;
}
@Transactional(rollbackFor = Exception.class)
public String syncFunc(BaseProductAttached table) {
String failSpareParts = "";
BaseProductAttached Exist = baseProductAttachedMapper.selectBaseProductAttachedByProductCode(table.getProductCode());
//不存在就插入
if (Exist == null) {
baseProductAttachedMapper.insertBaseProductAttached(table);
logger.info("=======物料附属信息" + table.getProductCode() + "=======导入成功");
//存在,不允许插入
} else {
failSpareParts = table.getProductCode();
logger.info("=======物料附属信息" + failSpareParts + "=======导入失败");
}
return failSpareParts;
}
/**
*
*/
public AjaxResult checkImportFile(List<BaseProductAttached> baseProductAttached){
// 传入对象不能为空
if (baseProductAttached.size() == 0 || StringUtils.isNull(baseProductAttached)) {
return error(500, "导入的信息不能为空!信息导入失败!");
}
for (BaseProductAttached productAttached : baseProductAttached) {
//产品编码
if (productAttached.getProductCode().isEmpty() || productAttached.getProductCode()==null){
return error(500, "产品编号不能为空!信息导入失败!");
}
//品类
if (productAttached.getCategory().isEmpty() || productAttached.getCategory()==null){
return error(500, "品类不能为空!信息导入失败!");
}
//每PC单圈
if (productAttached.getPc().isEmpty() || productAttached.getPc()==null){
return error(500, "每PC单圈不能为空信息导入失败");
}
//标准效率
if (productAttached.getIei().toString().isEmpty() || productAttached.getIei()==null){
return error(500, "标准效率不能为空!信息导入失败!");
}
//标准用人
if (productAttached.getManStandar().toString().isEmpty() || productAttached.getManStandar()==null){
return error(500, "标准用人不能为空!信息导入失败!");
}
//喷药方式
// if (productAttached.getSprayWay().isEmpty() || productAttached.getSprayWay()==null){
// return error(500, "喷药方式不能为空!信息导入失败!");
// }
//白坯直径
if (productAttached.getBlankDiameter().toString().isEmpty() || productAttached.getBlankDiameter()==null){
return error(500, "白坯直径不能为空!信息导入失败!");
}
//白坯物料号
if (productAttached.getBlankNo().isEmpty() || productAttached.getBlankNo()==null){
return error(500, "白坯物料号不能为空!信息导入失败!");
}
//标准喷药量
if (productAttached.getSprayVolume().toString().isEmpty() || productAttached.getSprayVolume()==null){
return error(500, "标准喷药量不能为空!信息导入失败!");
}
//药液料号
if (productAttached.getLiquidNo().isEmpty() || productAttached.getLiquidNo()==null){
return error(500, "药液料号不能为空!信息导入失败!");
}
//标准内膜用量
if (productAttached.getEndometrialDosage().toString().isEmpty() || productAttached.getEndometrialDosage()==null){
return error(500, "标准内膜用量不能为空!信息导入失败!");
}
//标准外膜用量
if (productAttached.getOuterFilmDosage().toString().isEmpty() || productAttached.getOuterFilmDosage()==null){
return error(500, "标准外膜用量不能为空!信息导入失败!");
}
//支架
if (productAttached.getSupport().toString().isEmpty() || productAttached.getSupport()==null){
return error(500, "支架不能为空!信息导入失败!");
}
//支架物料号
if (productAttached.getSupportNo().isEmpty() || productAttached.getSupportNo()==null){
return error(500, "支架物料号不能为空!信息导入失败!");
}
//吸塑
if (productAttached.getPvc().toString().isEmpty() || productAttached.getPvc()==null){
return error(500, "吸塑不能为空!信息导入失败!");
}
//支架盘
if (productAttached.getSupportPlate().toString().isEmpty() || productAttached.getSupportPlate()==null){
return error(500, "支架盘不能为空!信息导入失败!");
}
//库检周期
if (productAttached.getWarehouseCycle().isEmpty() || productAttached.getSupportPlate()==null){
return error(500, "库检周期不能为空!信息导入失败!");
}
//库检周期
if (productAttached.getWarehouseCycle().isEmpty() || productAttached.getWarehouseCycle()==null){
return error(500, "库检周期不能为空!信息导入失败!");
}
//托盘上箱数
if (productAttached.getPalletNum().toString().isEmpty() || productAttached.getPalletNum()==null){
return error(500, "托盘上箱数不能为空!信息导入失败!");
}
//垛形
if (productAttached.getPackType().isEmpty() || productAttached.getPackType()==null){
return error(500, "垛形不能为空!信息导入失败!");
}
}
return success();
}
@Override
@DS("#header.poolName")
public boolean checkSpareCodeUnique(BaseProductAttached baseProductAttached) {
String spareCode = baseProductAttachedMapper.checkSpareCodeUnique(baseProductAttached);
if (spareCode == null) {
return false;
} else {
return true;
}
}
}

@ -13,12 +13,13 @@ spring:
cloud:
nacos:
discovery:
#命名空间
namespace: lanju-op-test
group: test
# 服务注册地址
# server-addr: 192.168.202.20:8848
server-addr: 192.168.202.20:8848
config:
#命名空间
namespace: lanju-op-test
group: test
# 服务注册地址

@ -24,10 +24,15 @@
<result property="supportPlate" column="support_plate" />
<result property="other" column="other" />
<result property="createBy" column="create_by" />
<result property="warehouseCycle" column="warehouse_cycle" />
<result property="palletNum" column="pallet_num" />
<result property="packType" column="pack_type" />
</resultMap>
<sql id="selectBaseProductAttachedVo">
select id, product_code, category, pc, iei, man_standar, spray_way, blank_diameter, blank_no, spray_volume, liquid_no, endometrial_dosage, outer_film_dosage, support, support_no, pvc, support_plate, other, create_by from base_product_attached
select id, product_code, category, pc, iei, man_standar, spray_way, blank_diameter, blank_no, spray_volume, liquid_no, endometrial_dosage, outer_film_dosage, support, support_no, pvc,
support_plate,
other, create_by, warehouse_cycle,pallet_num,pack_type from base_product_attached
</sql>
<select id="selectBaseProductAttachedList" parameterType="BaseProductAttached" resultMap="BaseProductAttachedResult">
@ -50,6 +55,11 @@
<if test="pvc != null "> and pvc = #{pvc}</if>
<if test="supportPlate != null "> and support_plate = #{supportPlate}</if>
<if test="other != null and other != ''"> and other = #{other}</if>
<if test="createBy != null and createBy != ''"> and create_by = #{createBy}</if>
<if test="warehouseCycle != null and warehouseCycle != ''"> and warehouse_cycle = #{warehouseCycle}</if>
<if test="palletNum != null and palletNum != ''"> and pallet_num = #{palletNum}</if>
<if test="packType != null and packType != ''"> and pack_type = #{packType}</if>
</where>
</select>
@ -57,7 +67,18 @@
<include refid="selectBaseProductAttachedVo"/>
where id = #{id}
</select>
<select id="selectBaseProductAttachedByProductCode" parameterType="String" resultMap="BaseProductAttachedResult">
<include refid="selectBaseProductAttachedVo"/>
where product_code = #{productCode}
</select>
<select id="checkSpareCodeUnique" parameterType="BaseProductAttached" resultType="java.lang.String">
select product_code
from base_product_attached
where product_code = #{productCode}
</select>
<insert id="insertBaseProductAttached" parameterType="BaseProductAttached">
insert into base_product_attached
<trim prefix="(" suffix=")" suffixOverrides=",">
@ -80,6 +101,10 @@
<if test="supportPlate != null">support_plate,</if>
<if test="other != null">other,</if>
<if test="createBy != null">create_by,</if>
<if test="warehouseCycle != null">warehouse_cycle,</if>
<if test="palletNum != null">pallet_num,</if>
<if test="packType != null">pack_type,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">#{id},</if>
@ -101,6 +126,9 @@
<if test="supportPlate != null">#{supportPlate},</if>
<if test="other != null">#{other},</if>
<if test="createBy != null">#{createBy},</if>
<if test="warehouseCycle != null">#{warehouseCycle},</if>
<if test="palletNum != null">#{palletNum},</if>
<if test="packType != null">#{packType},</if>
</trim>
</insert>
@ -125,6 +153,11 @@
<if test="supportPlate != null">support_plate = #{supportPlate},</if>
<if test="other != null">other = #{other},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="warehouseCycle != null">warehouse_cycle = #{warehouseCycle},</if>
<if test="palletNum != null">pallet_num = #{palletNum},</if>
<if test="packType != null">pack_type = #{packType},</if>
</trim>
where id = #{id}
</update>

@ -13,16 +13,16 @@ spring:
cloud:
nacos:
discovery:
#命名空间
namespace: lanju-op-test
group: test
# 服务注册地址
server-addr: 192.168.202.20:8848
config:
#命名空间
namespace: lanju-op-test
group: test
#命名空间
#group: local
# 配置中心地址
# 服务注册地址
server-addr: 192.168.202.20:8848
# 配置文件格式
file-extension: yml

@ -1371,7 +1371,7 @@ public class ProOrderServiceImpl implements IProOrderService {
if(CollectionUtils.isEmpty(proOrder.getChildren())){//1层订单
proOrder.setEndFlag(1);
}
int endCode = getEndCode(proOrder.getId());
int endCode = getEndCode(proOrder.getId())+i;
String belongWorkOrder = proOrder.getOrderCode()+"-"+endCode;
proOrder.setBelongWorkOrder(belongWorkOrder);
proOrder.setWorkerOrder(belongWorkOrder);

@ -13,11 +13,13 @@ spring:
cloud:
nacos:
discovery:
#命名空间
namespace: lanju-op-test
group: test
# 服务注册地址
server-addr: 192.168.202.20:8848
config:
#命名空间
namespace: lanju-op-test
group: test
# 服务注册地址

@ -0,0 +1,107 @@
package com.op.quality.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.op.common.core.utils.poi.ExcelUtil;
import com.op.quality.domain.QcDefectTypeClass;
import com.op.quality.service.IQcDefectTypeClassService;
import com.op.system.api.domain.SysDictData;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.op.common.log.annotation.Log;
import com.op.common.log.enums.BusinessType;
import com.op.common.security.annotation.RequiresPermissions;
import com.op.common.core.web.controller.BaseController;
import com.op.common.core.web.domain.AjaxResult;
import com.op.common.core.web.page.TableDataInfo;
/**
* -Controller
*
* @author Open Platform
* @date 2024-08-20
*/
@RestController
@RequestMapping("/defectClass")
public class QcDefectTypeClassController extends BaseController {
@Autowired
private IQcDefectTypeClassService qcDefectTypeClassService;
/**
* -
*/
@RequiresPermissions("system:class:list")
@GetMapping("/list")
public TableDataInfo list(QcDefectTypeClass qcDefectTypeClass) {
startPage();
List<QcDefectTypeClass> list = qcDefectTypeClassService.selectQcDefectTypeClassList(qcDefectTypeClass);
return getDataTable(list);
}
/**
* -
*/
@RequiresPermissions("system:class:export")
@Log(title = "故障类型-缺陷描述分类", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, QcDefectTypeClass qcDefectTypeClass) {
List<QcDefectTypeClass> list = qcDefectTypeClassService.selectQcDefectTypeClassList(qcDefectTypeClass);
ExcelUtil<QcDefectTypeClass> util = new ExcelUtil<QcDefectTypeClass>(QcDefectTypeClass. class);
util.exportExcel(response, list, "故障类型-缺陷描述分类数据");
}
/**
* -
*/
@RequiresPermissions("system:class:query")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") String id) {
return success(qcDefectTypeClassService.selectQcDefectTypeClassById(id));
}
/**
* -
*/
@RequiresPermissions("system:class:add")
@Log(title = "故障类型-缺陷描述分类", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody QcDefectTypeClass qcDefectTypeClass) {
return toAjax(qcDefectTypeClassService.insertQcDefectTypeClass(qcDefectTypeClass));
}
/**
* -
*/
@RequiresPermissions("system:class:edit")
@Log(title = "故障类型-缺陷描述分类", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody QcDefectTypeClass qcDefectTypeClass) {
return toAjax(qcDefectTypeClassService.updateQcDefectTypeClass(qcDefectTypeClass));
}
/**
* -
*/
@RequiresPermissions("system:class:remove")
@Log(title = "故障类型-缺陷描述分类", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable String[] ids) {
return toAjax(qcDefectTypeClassService.deleteQcDefectTypeClassByIds(ids));
}
@GetMapping("/getClassInfoList")
@DS("#header.poolName")
public AjaxResult getClassInfoList(QcDefectTypeClass qcDefectTypeClass) {
List<QcDefectTypeClass> list = qcDefectTypeClassService.getClassInfoList(qcDefectTypeClass);
return success(list);
}
}

@ -93,7 +93,15 @@ public class QcCheckTaskDefect extends BaseEntity {
private String defectCodes;
private String defectNames;
private String defectQualitys;
private String classId;
public String getClassId() {
return classId;
}
public void setClassId(String classId) {
this.classId = classId;
}
public String getDefectCodes() {
return defectCodes;
}

@ -138,6 +138,7 @@ public class QcCheckTaskDetail extends BaseEntity {
private String defectCodes;
private String defectNames;
private String defectQualitys;
private String classTypeCodes;
private String itemType;
private String judgeRate;
private String samplePlan;
@ -147,6 +148,14 @@ public class QcCheckTaskDetail extends BaseEntity {
private String sampleAql;
private String checkLevel;
public String getClassTypeCodes() {
return classTypeCodes;
}
public void setClassTypeCodes(String classTypeCodes) {
this.classTypeCodes = classTypeCodes;
}
public String getCheckLevel() {
return checkLevel;
}

@ -0,0 +1,143 @@
package com.op.quality.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.op.common.core.annotation.Excel;
import com.op.common.core.web.domain.BaseEntity;
/**
* - qc_defect_type_class
*
* @author Open Platform
* @date 2024-08-20
*/
public class QcDefectTypeClass extends BaseEntity {
private static final long serialVersionUID=1L;
/** 主键 */
private String id;
/** 不良类型id */
@Excel(name = "不良类型id")
private String defectId;
/** 不良类型编码 */
@Excel(name = "不良类型编码")
private String defectCode;
/** 缺陷名称 */
@Excel(name = "缺陷名称")
private String className;
/** 工厂编码 */
@Excel(name = "工厂编码")
private String factoryCode;
/** 备用字段1 */
@Excel(name = "备用字段1")
private String attr1;
/** 备用字段2 */
@Excel(name = "备用字段2")
private String attr2;
/** 备用字段3 */
@Excel(name = "备用字段3")
private String attr3;
/** 删除标志 */
private String delFlag;
private String sort;
public String getSort() {
return sort;
}
public void setSort(String sort) {
this.sort = sort;
}
public void setId(String id){
this.id = id;
}
public String getId(){
return id;
}
public void setDefectId(String defectId){
this.defectId = defectId;
}
public String getDefectId(){
return defectId;
}
public void setDefectCode(String defectCode){
this.defectCode = defectCode;
}
public String getDefectCode(){
return defectCode;
}
public void setClassName(String className){
this.className = className;
}
public String getClassName(){
return className;
}
public void setFactoryCode(String factoryCode){
this.factoryCode = factoryCode;
}
public String getFactoryCode(){
return factoryCode;
}
public void setAttr1(String attr1){
this.attr1 = attr1;
}
public String getAttr1(){
return attr1;
}
public void setAttr2(String attr2){
this.attr2 = attr2;
}
public String getAttr2(){
return attr2;
}
public void setAttr3(String attr3){
this.attr3 = attr3;
}
public String getAttr3(){
return attr3;
}
public void setDelFlag(String delFlag){
this.delFlag = delFlag;
}
public String getDelFlag(){
return delFlag;
}
@Override
public String toString(){
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id",getId())
.append("defectId",getDefectId())
.append("defectCode",getDefectCode())
.append("className",getClassName())
.append("remark",getRemark())
.append("factoryCode",getFactoryCode())
.append("attr1",getAttr1())
.append("attr2",getAttr2())
.append("attr3",getAttr3())
.append("delFlag",getDelFlag())
.append("createBy",getCreateBy())
.append("createTime",getCreateTime())
.append("updateBy",getUpdateBy())
.append("updateTime",getUpdateTime())
.toString();
}
}

@ -0,0 +1,64 @@
package com.op.quality.mapper;
import com.op.quality.domain.QcDefectTypeClass;
import java.util.List;
/**
* -Mapper
*
* @author Open Platform
* @date 2024-08-20
*/
public interface QcDefectTypeClassMapper {
/**
* -
*
* @param id -
* @return -
*/
public QcDefectTypeClass selectQcDefectTypeClassById(String id);
/**
* -
*
* @param qcDefectTypeClass -
* @return -
*/
public List<QcDefectTypeClass> selectQcDefectTypeClassList(QcDefectTypeClass qcDefectTypeClass);
/**
* -
*
* @param qcDefectTypeClass -
* @return
*/
public int insertQcDefectTypeClass(QcDefectTypeClass qcDefectTypeClass);
/**
* -
*
* @param qcDefectTypeClass -
* @return
*/
public int updateQcDefectTypeClass(QcDefectTypeClass qcDefectTypeClass);
/**
* -
*
* @param id -
* @return
*/
public int deleteQcDefectTypeClassById(String id);
/**
* -
*
* @param ids
* @return
*/
public int deleteQcDefectTypeClassByIds(String[] ids);
List<QcDefectTypeClass> getClassInfoList(QcDefectTypeClass qcDefectTypeClass);
}

@ -91,4 +91,6 @@ public interface QcStaticTableMapper {
Map<String, QcStaticTable> getNoOkNum(QcStaticTable qcStaticTable);
List<QcStaticTable> getTableHzNoOkData(QcStaticTable qcStaticTable);
@MapKey("ymdms")
Map<String, QcStaticTable> getNoOkRatioNum(QcStaticTable qcStaticTable);
}

@ -0,0 +1,65 @@
package com.op.quality.service;
import com.op.quality.domain.QcDefectTypeClass;
import java.util.List;
/**
* -Service
*
* @author Open Platform
* @date 2024-08-20
*/
public interface IQcDefectTypeClassService {
/**
* -
*
* @param id -
* @return -
*/
public QcDefectTypeClass selectQcDefectTypeClassById(String id);
/**
* -
*
* @param qcDefectTypeClass -
* @return -
*/
public List<QcDefectTypeClass> selectQcDefectTypeClassList(QcDefectTypeClass qcDefectTypeClass);
/**
* -
*
* @param qcDefectTypeClass -
* @return
*/
public int insertQcDefectTypeClass(QcDefectTypeClass qcDefectTypeClass);
/**
* -
*
* @param qcDefectTypeClass -
* @return
*/
public int updateQcDefectTypeClass(QcDefectTypeClass qcDefectTypeClass);
/**
* -
*
* @param ids -
* @return
*/
public int deleteQcDefectTypeClassByIds(String[] ids);
/**
* -
*
* @param id -
* @return
*/
public int deleteQcDefectTypeClassById(String id);
List<QcDefectTypeClass> getClassInfoList(QcDefectTypeClass qcDefectTypeClass);
}

@ -750,20 +750,17 @@ public class QcCheckTaskIncomeServiceImpl<QcCheckUnqualifiedService> implements
}
}
if(qcCheckTaskIncome.getSampleQuality()!=null && qcCheckTaskIncome.getSampleQuality().equals(BigDecimal.ZERO)){
qcCheckTask.setSampleQuality(sampleQuality);
}else{
qcCheckTask.setSampleQuality(qcCheckTaskIncome.getSampleQuality());
}
/**qc_check_task_cg**/
List<QcCheckTaskIncome> valiData = qcCheckTaskIncomeMapper.selectQcCheckTaskCgByRecordId(belongId);
// 判断表中是否存在此条数据
if (valiData != null && valiData.size() > 0) {
n = qcCheckTaskIncomeMapper.updateQcCheckTaskCg(qcCheckTask);//updateQcCheckTaskCG
}else {
if(qcCheckTaskIncome.getSampleQuality().equals(BigDecimal.ZERO)){
qcCheckTask.setSampleQuality(sampleQuality);
}else{
qcCheckTask.setSampleQuality(qcCheckTaskIncome.getSampleQuality());
}
qcCheckTask.setCheckNo(qcCheckTaskIncome.getCheckNo());
qcCheckTask.setOrderNo(qcCheckTaskIncome.getOrderNo());
qcCheckTask.setMaterialCode(qcCheckTaskIncome.getMaterialCode());
@ -798,10 +795,12 @@ public class QcCheckTaskIncomeServiceImpl<QcCheckUnqualifiedService> implements
String[] defectCodes = detail.getDefectCodes().split(",");
String[] defectNames = detail.getDefectNames().split(",");
String[] defectQualitys = detail.getDefectQualitys().split(",");
String[] classIds = detail.getClassTypeCodes().split(",");
for(int d=0;d<defectCodes.length;d++){
defect = new QcCheckTaskDefect();
defect.setDefectCode(defectCodes[d]);
defect.setDefectSubclass(defectNames[d].split(":")[0]);
defect.setClassId(classIds[d]);
defect.setNoOkQuality(new BigDecimal(defectQualitys[d]));
defect.setRecordId(IdUtils.fastSimpleUUID());
defect.setCreateTime(nowTime);
@ -899,7 +898,7 @@ public class QcCheckTaskIncomeServiceImpl<QcCheckUnqualifiedService> implements
}
}
if(qcCheckTaskIncome.getSampleQuality().equals(BigDecimal.ZERO)){
if(qcCheckTaskIncome.getSampleQuality()!=null && qcCheckTaskIncome.getSampleQuality().equals(BigDecimal.ZERO)){
qcCheckTask.setSampleQuality(sampleQuality);
}else{
qcCheckTask.setSampleQuality(qcCheckTaskIncome.getSampleQuality());
@ -923,11 +922,13 @@ public class QcCheckTaskIncomeServiceImpl<QcCheckUnqualifiedService> implements
String[] defectCodes = detail.getDefectCodes().split(",");
String[] defectNames = detail.getDefectNames().split(",");
String[] defectQualitys = detail.getDefectQualitys().split(",");
String[] classIds = detail.getClassTypeCodes().split(",");
for(int d=0;d<defectCodes.length;d++){
defect = new QcCheckTaskDefect();
defect.setDefectCode(defectCodes[d]);
defect.setDefectSubclass(defectNames[d].split(":")[0]);
defect.setNoOkQuality(new BigDecimal(defectQualitys[d]));
defect.setClassId(classIds[d]);
defect.setRecordId(IdUtils.fastSimpleUUID());
defect.setCreateTime(nowTime);
defect.setCreateBy(updateBy);

@ -0,0 +1,111 @@
package com.op.quality.service.impl;
import java.security.Security;
import java.util.List;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.op.common.core.utils.DateUtils;
import com.op.common.core.utils.uuid.IdUtils;
import com.op.common.security.utils.SecurityUtils;
import com.op.quality.domain.QcDefectTypeClass;
import com.op.quality.mapper.QcDefectTypeClassMapper;
import com.op.quality.service.IQcDefectTypeClassService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* -Service
*
* @author Open Platform
* @date 2024-08-20
*/
@Service
public class QcDefectTypeClassServiceImpl implements IQcDefectTypeClassService {
@Autowired
private QcDefectTypeClassMapper qcDefectTypeClassMapper;
/**
* -
*
* @param id -
* @return -
*/
@Override
@DS("#header.poolName")
public QcDefectTypeClass selectQcDefectTypeClassById(String id) {
return qcDefectTypeClassMapper.selectQcDefectTypeClassById(id);
}
/**
* -
*
* @param qcDefectTypeClass -
* @return -
*/
@Override
@DS("#header.poolName")
public List<QcDefectTypeClass> selectQcDefectTypeClassList(QcDefectTypeClass qcDefectTypeClass) {
return qcDefectTypeClassMapper.selectQcDefectTypeClassList(qcDefectTypeClass);
}
/**
* -
*
* @param qcDefectTypeClass -
* @return
*/
@Override
@DS("#header.poolName")
public int insertQcDefectTypeClass(QcDefectTypeClass qcDefectTypeClass) {
qcDefectTypeClass.setCreateTime(DateUtils.getNowDate());
qcDefectTypeClass.setId(IdUtils.fastSimpleUUID());
qcDefectTypeClass.setCreateBy(SecurityUtils.getUsername());
return qcDefectTypeClassMapper.insertQcDefectTypeClass(qcDefectTypeClass);
}
/**
* -
*
* @param qcDefectTypeClass -
* @return
*/
@Override
@DS("#header.poolName")
public int updateQcDefectTypeClass(QcDefectTypeClass qcDefectTypeClass) {
qcDefectTypeClass.setUpdateTime(DateUtils.getNowDate());
qcDefectTypeClass.setUpdateBy(SecurityUtils.getUsername());
return qcDefectTypeClassMapper.updateQcDefectTypeClass(qcDefectTypeClass);
}
/**
* -
*
* @param ids -
* @return
*/
@Override
@DS("#header.poolName")
public int deleteQcDefectTypeClassByIds(String[] ids) {
return qcDefectTypeClassMapper.deleteQcDefectTypeClassByIds(ids);
}
/**
* -
*
* @param id -
* @return
*/
@Override
@DS("#header.poolName")
public int deleteQcDefectTypeClassById(String id) {
return qcDefectTypeClassMapper.deleteQcDefectTypeClassById(id);
}
@Override
public List<QcDefectTypeClass> getClassInfoList(QcDefectTypeClass qcDefectTypeClass) {
return qcDefectTypeClassMapper.getClassInfoList(qcDefectTypeClass);
}
}

@ -166,6 +166,7 @@ public class QcProCheckServiceImpl implements QcProCheckService {
qcd.setDefectCodes(defectInfo.getDefectCodes());
qcd.setDefectNames(defectInfo.getDefectNames());
qcd.setDefectQualitys(defectInfo.getDefectQualitys());
qcd.setClassTypeCodes(defectInfo.getClassId());
}
}
@ -205,6 +206,7 @@ public class QcProCheckServiceImpl implements QcProCheckService {
qcd.setDefectCodes(defectInfo.getDefectCodes());
qcd.setDefectNames(defectInfo.getDefectNames());
qcd.setDefectQualitys(defectInfo.getDefectQualitys());
qcd.setClassTypeCodes(defectInfo.getClassId());
}
}

@ -792,7 +792,7 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
@DS("#header.poolName")
public QcStaticTable getTableHzTitle(QcStaticTable qcStaticTable) {
QcStaticTable dto = new QcStaticTable();
qcStaticTable.setDataType("unqualified_remark");
//qcStaticTable.setDataType("unqualified_remark");
qcStaticTable.setRemark(qcStaticTable.getCheckType());
List<String> cols1 = qcStaticTableMapper.getTableHzTitle(qcStaticTable);
@ -887,17 +887,19 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
@DS("#header.poolName")
public List<HashMap> getTableHzData(QcStaticTable qcStaticTable) {
List<HashMap> dtos = new ArrayList<>();
qcStaticTable.setDataType("unqualified_remark");
//qcStaticTable.setDataType("unqualified_remark");
qcStaticTable.setRemark(qcStaticTable.getCheckType());
List<String> noOkTyps = qcStaticTableMapper.getTableHzTitle(qcStaticTable);
//第一列日期
List<String> days = this.getHzDays(qcStaticTable.getIncomeTimeStr(),qcStaticTable.getYmdms());
//抽样数、不良数、不良率
//抽样数
Map<String,QcStaticTable> samples = qcStaticTableMapper.getSamplesNum(qcStaticTable);
if(samples.isEmpty()){
return dtos;
}
//不良数
//不良数(折算后)、不良率
Map<String,QcStaticTable> noOkNumRs = qcStaticTableMapper.getNoOkRatioNum(qcStaticTable);
//不良数(不折算)
Map<String,QcStaticTable> noOks = qcStaticTableMapper.getNoOkNum(qcStaticTable);
HashMap colMap = null;
for(String col:days){
@ -905,9 +907,10 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
colMap.put("timeCol",col);
String samKey = col;
QcStaticTable sampl = samples.get(samKey);
if(sampl!=null&&!sampl.getSampleQuality().equals("0.00")){
QcStaticTable noOkNumR = noOkNumRs.get(samKey);
if(sampl!=null&&!sampl.getSampleQuality().equals("0.00")&&noOkNumR!=null && !noOkNumR.getNoOkQuality().equals("0.00")){
colMap.put("sampleQuality",sampl.getSampleQuality().replaceAll("\\..*", ""));
BigDecimal noOkRate = new BigDecimal(sampl.getNoOkQuality()).multiply(new BigDecimal("100.00"))
BigDecimal noOkRate = new BigDecimal(noOkNumR.getNoOkQuality()).multiply(new BigDecimal("100.00"))
.divide(new BigDecimal(sampl.getSampleQuality()),2, BigDecimal.ROUND_HALF_UP);
colMap.put("noOkRate",noOkRate);
}else{

@ -13,13 +13,15 @@ spring:
cloud:
nacos:
discovery:
namespace: lanju-op
group: chj
#命名空间
namespace: lanju-op-test
group: test
# 服务注册地址
server-addr: 192.168.202.20:8848
config:
namespace: lanju-op
group: chj
#命名空间
namespace: lanju-op-test
group: test
# 服务注册地址
server-addr: 192.168.202.20:8848
# 配置文件格式

@ -158,7 +158,14 @@
WHERE belong_to_detail = qctd.belong_to_detail and belong_to = qctd.belong_to
FOR xml path('')
),1,1,''
) defectQualitys
) defectQualitys,
STUFF(
(SELECT ',' + CAST(class_id AS VARCHAR(40))
FROM qc_check_task_defect
WHERE belong_to_detail = qctd.belong_to_detail and belong_to = qctd.belong_to
FOR xml path('')
),1,1,''
) classId
FROM qc_check_task_defect qctd where qctd.del_flag = '0' and belong_to= #{belongTo}
and belong_to_detail is not null
GROUP by qctd.belong_to,qctd.belong_to_detail

@ -686,14 +686,14 @@
insert into qc_check_task_defect(
record_id,belong_to,belong_to_detail,
defect_code,defect_subclass,
noOk_quality,
noOk_quality,class_id,
create_by,create_time,factory_code
) values
<foreach item="item" index="index" collection="list" separator=",">
(
#{item.recordId},#{item.belongTo},#{item.belongToDetail},
#{item.defectCode},#{item.defectSubclass},
#{item.noOkQuality},
#{item.noOkQuality},#{item.classId},
#{item.createBy},#{item.createTime},#{item.factoryCode}
)
</foreach>

@ -0,0 +1,194 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.op.quality.mapper.QcDefectTypeClassMapper">
<resultMap type="QcDefectTypeClass" id="QcDefectTypeClassResult">
<result property="id" column="id"/>
<result property="defectId" column="defect_id"/>
<result property="defectCode" column="defect_code"/>
<result property="className" column="class_name"/>
<result property="remark" column="remark"/>
<result property="factoryCode" column="factory_code"/>
<result property="attr1" column="attr1"/>
<result property="attr2" column="attr2"/>
<result property="attr3" column="attr3"/>
<result property="delFlag" column="del_flag"/>
<result property="createBy" column="create_by"/>
<result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
<result property="sort" column="sort"/>
</resultMap>
<sql id="selectQcDefectTypeClassVo">
select id, defect_id, defect_code, class_name, remark, factory_code, attr1,
attr2, attr3, del_flag, create_by, create_time, update_by, update_time ,sort
from qc_defect_type_class
</sql>
<select id="selectQcDefectTypeClassList" parameterType="QcDefectTypeClass" resultMap="QcDefectTypeClassResult">
<include refid="selectQcDefectTypeClassVo"/>
<where>
<if test="defectId != null and defectId != ''">
and defect_id = #{defectId}
</if>
<if test="defectCode != null and defectCode != ''">
and defect_code = #{defectCode}
</if>
<if test="className != null and className != ''">
and class_name like concat('%', #{className}, '%')
</if>
<if test="factoryCode != null and factoryCode != ''">
and factory_code = #{factoryCode}
</if>
<if test="attr1 != null and attr1 != ''">
and attr1 = #{attr1}
</if>
<if test="attr2 != null and attr2 != ''">
and attr2 = #{attr2}
</if>
<if test="attr3 != null and attr3 != ''">
and attr3 = #{attr3}
</if>
</where>
</select>
<select id="selectQcDefectTypeClassById" parameterType="String"
resultMap="QcDefectTypeClassResult">
<include refid="selectQcDefectTypeClassVo"/>
where id = #{id}
</select>
<select id="getClassInfoList" resultType="com.op.quality.domain.QcDefectTypeClass">
select id,
class_name className
from qc_defect_type_class
where defect_code = #{defectCode}
and del_flag = '0'
order by sort
</select>
<insert id="insertQcDefectTypeClass" parameterType="QcDefectTypeClass">
insert into qc_defect_type_class
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">id,
</if>
<if test="defectId != null and defectId != ''">defect_id,
</if>
<if test="defectCode != null and defectCode != ''">defect_code,
</if>
<if test="className != null">class_name,
</if>
<if test="remark != null">remark,
</if>
<if test="factoryCode != null and factoryCode != ''">factory_code,
</if>
<if test="attr1 != null">attr1,
</if>
<if test="attr2 != null">attr2,
</if>
<if test="attr3 != null">attr3,
</if>
<if test="delFlag != null and delFlag != ''">del_flag,
</if>
<if test="createBy != null and createBy != ''">create_by,
</if>
<if test="createTime != null">create_time,
</if>
<if test="updateBy != null and updateBy != ''">update_by,
</if>
<if test="updateTime != null">update_time,
</if>
<if test="sort != null">sort,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">#{id},
</if>
<if test="defectId != null and defectId != ''">#{defectId},
</if>
<if test="defectCode != null and defectCode != ''">#{defectCode},
</if>
<if test="className != null">#{className},
</if>
<if test="remark != null">#{remark},
</if>
<if test="factoryCode != null and factoryCode != ''">#{factoryCode},
</if>
<if test="attr1 != null">#{attr1},
</if>
<if test="attr2 != null">#{attr2},
</if>
<if test="attr3 != null">#{attr3},
</if>
<if test="delFlag != null and delFlag != ''">#{delFlag},
</if>
<if test="createBy != null and createBy != ''">#{createBy},
</if>
<if test="createTime != null">#{createTime},
</if>
<if test="updateBy != null and updateBy != ''">#{updateBy},
</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="sort != null">#{sort},</if>
</trim>
</insert>
<update id="updateQcDefectTypeClass" parameterType="QcDefectTypeClass">
update qc_defect_type_class
<trim prefix="SET" suffixOverrides=",">
<if test="defectId != null and defectId != ''">defect_id =
#{defectId},
</if>
<if test="defectCode != null and defectCode != ''">defect_code =
#{defectCode},
</if>
<if test="className != null">class_name =
#{className},
</if>
<if test="remark != null">remark =
#{remark},
</if>
<if test="factoryCode != null and factoryCode != ''">factory_code =
#{factoryCode},
</if>
<if test="attr1 != null">attr1 =
#{attr1},
</if>
<if test="attr2 != null">attr2 =
#{attr2},
</if>
<if test="attr3 != null">attr3 =
#{attr3},
</if>
<if test="delFlag != null and delFlag != ''">del_flag =
#{delFlag},
</if>
<if test="createBy != null and createBy != ''">create_by =
#{createBy},
</if>
<if test="createTime != null">create_time =
#{createTime},
</if>
<if test="updateBy != null and updateBy != ''">update_by =
#{updateBy},
</if>
<if test="updateTime != null">update_time =
#{updateTime},
</if>
<if test="sort != null">sort = #{sort},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteQcDefectTypeClassById" parameterType="String">
delete from qc_defect_type_class where id = #{id}
</delete>
<delete id="deleteQcDefectTypeClassByIds" parameterType="String">
delete from qc_defect_type_class where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>

@ -40,7 +40,7 @@
</if>
</select>
<select id="getCheckProjectsPie" resultType="com.op.quality.domain.QcInterface">
<!--
select count(0) quality,
qctd.project_no,
qctd.rule_name projectName
@ -56,21 +56,22 @@
<if test='ymdType=="dd"'>
and CONVERT(varchar(10),qcu.update_time, 120) = SUBSTRING(#{ymd},0,11)
</if>
group by qctd.project_no,qctd.rule_name-->
select qct.remark projectName,
count(0) quality
from qc_check_task qct
where qct.type_code = 'produce' and qct.check_result = 'N' and qct.remark is not null
<if test='ymdType=="yyyy"'>
and CONVERT(varchar(4),qct.check_time, 120) = SUBSTRING(#{ymd},0,5)
</if>
<if test='ymdType=="mm"'>
and CONVERT(varchar(7),qct.check_time, 120) = SUBSTRING(#{ymd},0,8)
</if>
<if test='ymdType=="dd"'>
and CONVERT(varchar(10),qct.check_time, 120) = SUBSTRING(#{ymd},0,11)
</if>
group by qct.remark
group by qctd.project_no,qctd.rule_name
<!--
select qct.remark projectName,
count(0) quality
from qc_check_task qct
where qct.type_code = 'produce' and qct.check_result = 'N' and qct.remark is not null
<if test='ymdType=="yyyy"'>
and CONVERT(varchar(4),qct.check_time, 120) = SUBSTRING(#{ymd},0,5)
</if>
<if test='ymdType=="mm"'>
and CONVERT(varchar(7),qct.check_time, 120) = SUBSTRING(#{ymd},0,8)
</if>
<if test='ymdType=="dd"'>
and CONVERT(varchar(10),qct.check_time, 120) = SUBSTRING(#{ymd},0,11)
</if>
group by qct.remark-->
</select>
<select id="getSupplierBadTOP5" resultType="com.op.quality.domain.QcInterface">
select top 5 * from(

@ -491,9 +491,11 @@
GROUP by qctd.belong_to,qctd.belong_to_detail
</select>
<select id="getTableHzTitle" resultType="java.lang.String">
select dict_label from base_dict_data
where dict_type = #{dataType}
and remark = #{remark} order by dict_sort
select dtc.class_name
from qc_defect_type dt
left join qc_defect_type_class dtc on dt.defect_code = dtc.defect_code
where dt.defect_type in (select type_code from qc_check_type where order_code = #{remark} and del_flag = '0')
and dtc.del_flag = '0' order by dtc.sort
</select>
<select id="getTableHzTitle2" resultType="java.lang.String">
select defect_subclass from qc_defect_type where defect_type = #{typeCode} and del_flag = '0'
@ -501,10 +503,9 @@
<select id="getSamplesNum" resultType="com.op.quality.domain.QcStaticTable">
<if test="ymdms == 'yyyy'">
select sum(sample_quality) sampleQuality,
sum(noOk_quality) noOkQuality,
ymdms
FROM(
select CONVERT(varchar(7),qct.create_time, 120) AS ymdms, qct.sample_quality, qct.noOk_quality
select CONVERT(varchar(7),qct.create_time, 120) AS ymdms, qct.sample_quality
from qc_check_task qct
where check_type = #{checkType}
and CONVERT(varchar(4),qct.create_time, 120) = #{incomeTimeStr}
@ -514,10 +515,9 @@
</if>
<if test="ymdms == 'mm'">
select sum(sample_quality) sampleQuality,
sum(noOk_quality) noOkQuality,
ymdms
FROM(
select CONVERT(varchar(10),qct.create_time, 120) AS ymdms, qct.sample_quality, qct.noOk_quality
select CONVERT(varchar(10),qct.create_time, 120) AS ymdms, qct.sample_quality
from qc_check_task qct
where check_type = #{checkType}
and CONVERT(varchar(7),qct.create_time, 120) = #{incomeTimeStr}
@ -527,10 +527,9 @@
</if>
<if test="ymdms == 'dd'">
select sum(sample_quality) sampleQuality,
sum(noOk_quality) noOkQuality,
RIGHT('00' + CAST(ymdms AS VARCHAR(2)), 2) ymdms
FROM(
select DATEPART(HOUR, qct.create_time) AS ymdms, qct.sample_quality, qct.noOk_quality
select DATEPART(HOUR, qct.create_time) AS ymdms, qct.sample_quality
from qc_check_task qct
where check_type = #{checkType}
and CONVERT(varchar(10),qct.create_time, 120) = #{incomeTimeStr}
@ -539,55 +538,112 @@
group by ymdms
</if>
</select>
<select id="getNoOkRatioNum" resultType="com.op.quality.domain.QcStaticTable">
<if test="ymdms == 'yyyy'">
select sum(noOkQuality) noOkQuality,
ymdms
FROM(
select
CONVERT(varchar(7),qct.create_time, 120) AS ymdms,
qctd.class_id,
qctd.noOk_quality*qdt.ratio noOkQuality
from qc_check_task qct
left join qc_check_task_defect qctd on qctd.belong_to = qct.record_id
left join qc_defect_type_class qdtc on qctd.class_id = qdtc.id
left join qc_defect_type qdt on qdt.defect_code = qdtc.defect_code
where qct.check_type = #{checkType} and qct.check_status = '2'
and CONVERT(varchar(4),qct.create_time, 120) = #{incomeTimeStr}
and qdt.del_flag = '0' and qdtc.del_flag = '0' and qctd.del_flag = '0' and qct.del_flag='0'
) t
group by ymdms
</if>
<if test="ymdms == 'mm'">
select sum(noOkQuality) noOkQuality,
ymdms
FROM(
select
CONVERT(varchar(10),qct.create_time, 120) AS ymdms,
qctd.class_id,
qctd.noOk_quality*qdt.ratio noOkQuality
from qc_check_task qct
left join qc_check_task_defect qctd on qctd.belong_to = qct.record_id
left join qc_defect_type_class qdtc on qctd.class_id = qdtc.id
left join qc_defect_type qdt on qdt.defect_code = qdtc.defect_code
where qct.check_type = #{checkType} and qdt.del_flag = '0' and qdtc.del_flag = '0' and qctd.del_flag = '0'
and CONVERT(varchar(7),qct.create_time, 120) = #{incomeTimeStr} and qct.del_flag='0' and qct.check_status = '2'
) t
group by ymdms
</if>
<if test="ymdms == 'dd'">
select sum(noOkQuality) noOkQuality,
RIGHT('00' + CAST(ymdms AS VARCHAR(2)), 2) ymdms
FROM(
select
DATEPART(HOUR, qct.create_time) AS ymdms,
qctd.class_id,
qctd.noOk_quality*qdt.ratio noOkQuality
from qc_check_task qct
left join qc_check_task_defect qctd on qctd.belong_to = qct.record_id
left join qc_defect_type_class qdtc on qctd.class_id = qdtc.id
left join qc_defect_type qdt on qdt.defect_code = qdtc.defect_code
where qct.check_type = #{checkType} and qdt.del_flag = '0' and qdtc.del_flag = '0' and qctd.del_flag = '0'
and CONVERT(varchar(10),qct.create_time, 120) = #{incomeTimeStr} and qct.del_flag='0' and qct.check_status = '2'
) t
group by ymdms
</if>
</select>
<select id="getNoOkNum" resultType="com.op.quality.domain.QcStaticTable">
<if test="ymdms == 'yyyy'">
select sum(noOk_quality) noOkQuality,
concat(hourName,dict_label) ymdUntype
concat(hourName,class_name) ymdUntype
FROM(
select CONVERT(varchar(7),qct.create_time, 120) AS hourName,
qct.noOk_quality,
bdd.dict_label
qctd.noOk_quality,
qdtc.class_name
from qc_check_task qct
left join base_dict_data bdd on bdd.dict_type = 'unqualified_remark' and qct.remark_code = dict_value
left join qc_check_task_defect qctd on qctd.belong_to = qct.record_id
left join qc_defect_type_class qdtc on qctd.class_id = qdtc.id
where qct.check_type = #{checkType} and qct.check_status = '2'
and CONVERT(varchar(4),qct.create_time, 120) = #{incomeTimeStr}
and del_flag = '0' and bdd.dict_label is not null
and qdtc.del_flag = '0' and qctd.del_flag = '0'
) t
group by hourName,dict_label
group by hourName,class_name
</if>
<if test="ymdms == 'mm'">
select sum(noOk_quality) noOkQuality,
concat(hourName,dict_label) ymdUntype
concat(hourName,class_name) ymdUntype
FROM(
select CONVERT(varchar(10),qct.create_time, 120) AS hourName,
qct.noOk_quality,
bdd.dict_label
qctd.noOk_quality,
qdtc.class_name
from qc_check_task qct
left join base_dict_data bdd on bdd.dict_type = 'unqualified_remark' and qct.remark_code = dict_value
left join qc_check_task_defect qctd on qctd.belong_to = qct.record_id
left join qc_defect_type_class qdtc on qctd.class_id = qdtc.id
where qct.check_type = #{checkType} and qct.check_status = '2'
and CONVERT(varchar(7),qct.create_time, 120) = #{incomeTimeStr}
and del_flag = '0' and bdd.dict_label is not null
and qdtc.del_flag = '0' and qctd.del_flag = '0'
) t
group by hourName,dict_label
group by hourName,class_name
</if>
<if test="ymdms == 'dd'">
select sum(noOk_quality) noOkQuality,
concat(hourName,dict_label) ymdUntype
concat(hourName,class_name) ymdUntype
FROM(
select RIGHT('00' + CAST(DATEPART(HOUR, qct.create_time) AS VARCHAR(2)), 2) AS hourName,
qct.noOk_quality,
bdd.dict_label
qctd.noOk_quality,
qdtc.class_name
from qc_check_task qct
left join base_dict_data bdd on bdd.dict_type = 'unqualified_remark' and qct.remark_code = dict_value
left join qc_check_task_defect qctd on qctd.belong_to = qct.record_id
left join qc_defect_type_class qdtc on qctd.class_id = qdtc.id
where qct.check_type = #{checkType} and qct.check_status = '2'
and CONVERT(varchar(10),qct.create_time, 120) = #{incomeTimeStr}
and del_flag = '0' and bdd.dict_label is not null
and qdtc.del_flag = '0' and qctd.del_flag = '0'
) t
group by hourName,dict_label
group by hourName,class_name
</if>
</select>
<select id="getTableHzNoOkData" resultType="com.op.quality.domain.QcStaticTable">
select * from (
<!--select * from (
select sum(t.noOk_quality) noOkQuality,
t.dict_label dataType
FROM(
@ -608,6 +664,25 @@
and del_flag = '0' and qct.remark_code is not null
) t
group by t.dict_label
) t0 order by noOkQuality desc-->
select * from (
select sum(t.noOk_quality) noOkQuality,
t.class_name dataType
FROM(
select
qctd.noOk_quality,
qdtc.class_name
from qc_check_task qct
left join qc_check_task_defect qctd on qctd.belong_to = qct.record_id
left join qc_defect_type_class qdtc on qctd.class_id = qdtc.id
where qct.check_type = #{checkType} and qct.check_status = '2'
<if test="ymdms == 'yyyy'">and CONVERT(varchar(4),qct.create_time, 120) = #{incomeTimeStr}</if>
<if test="ymdms == 'mm'">and CONVERT(varchar(7),qct.create_time, 120) = #{incomeTimeStr}</if>
<if test="ymdms == 'dd'"> and CONVERT(varchar(10),qct.create_time, 120) = #{incomeTimeStr}</if>
and qct.del_flag = '0' and qdtc.del_flag = '0' and qctd.del_flag = '0'
) t
group by t.class_name
) t0 order by noOkQuality desc
</select>
</mapper>

@ -13,11 +13,13 @@ spring:
cloud:
nacos:
discovery:
#命名空间
namespace: lanju-op-test
group: test
# 服务注册地址
server-addr: 192.168.202.20:8848
config:
#命名空间
namespace: lanju-op-test
group: test
# 服务注册地址

@ -13,15 +13,17 @@ spring:
cloud:
nacos:
discovery:
namespace: lanju-op
group: zxl
#命名空间
namespace: lanju-op-test
group: test
# 服务注册地址
server-addr: 175.27.215.92:8848
server-addr: 192.168.202.20:8848
config:
namespace: lanju-op
group: zxl
#命名空间
namespace: lanju-op-test
group: test
# 服务注册地址
server-addr: 175.27.215.92:8848
server-addr: 192.168.202.20:8848
# 配置文件格式
file-extension: yml
# 共享配置

@ -13,17 +13,16 @@ spring:
cloud:
nacos:
discovery:
# namespace: lanju-op-test
#命名空间
namespace: lanju-op-test
group: test
# 服务注册地址
# server-addr: 192.168.202.20:8848
server-addr: 192.168.202.20:8848
config:
#命名空间
namespace: lanju-op-test
group: test
# 服务注册地址
# server-addr: 192.168.202.20:8848
server-addr: 192.168.202.20:8848
# 配置文件格式
file-extension: yml

@ -13,11 +13,13 @@ spring:
cloud:
nacos:
discovery:
#命名空间
namespace: lanju-op-test
group: test
# 服务注册地址
server-addr: 192.168.202.20:8848
config:
#命名空间
namespace: lanju-op-test
group: test
# 服务注册地址

@ -51,7 +51,7 @@ public class OdsProcureOrderController extends BaseController {
}
/**获取标识卡**/
@PostMapping("/getIdCardList")
public List<ProOrderWorkorder> getIdCardList(@RequestBody OdsProcureOrder odsProcureOrder) {
public List<OdsProcureOrder> getIdCardList(@RequestBody OdsProcureOrder odsProcureOrder) {
return odsProcureOrderService.getIdCardList(odsProcureOrder);
}
/**

@ -306,11 +306,15 @@ public class WmsToWCSmissionController {
*/
@PostMapping("/WmsProductPutByWorkOrderqueryBS")
public AjaxResult WmsProductPutByWorkOrderqueryBS(@RequestBody WmsProductPut wmsProductPut) {
WmsProductPut wmsProductPut1= wmsProductPutService.WmsProductPutByWorkOrderqueryBS(wmsProductPut);
if (wmsProductPut1==null) {
return AjaxResult.error("标识卡未绑定");
try {
// 调用服务层方法获取 WmsProductPut 对象
WmsProductPut wmsProductPut1 = wmsProductPutService.WmsProductPutByWorkOrderqueryBS(wmsProductPut);
// 返回成功结果
return AjaxResult.success(wmsProductPut1);
} catch (Exception e) {
// 捕捉到异常时,返回错误提示
return AjaxResult.error("扫描标识卡异常,检查标识卡是否有问题:" + e.getMessage());
}
return AjaxResult.success(wmsProductPut1);
}

@ -63,10 +63,10 @@ public class BaseEquipment extends BaseEntity {
private String attr2;
@Excel(name = "预留字段3")
private Long attr3;
private String attr3;
@Excel(name = "预留字段4")
private Long attr4;
private String attr4;
@Excel(name = "单台能力工时")
private String unitWorkingHours;
@ -677,19 +677,19 @@ public class BaseEquipment extends BaseEntity {
return attr2;
}
public void setAttr3(Long attr3) {
public void setAttr3(String attr3) {
this.attr3 = attr3;
}
public Long getAttr3() {
public String getAttr3() {
return attr3;
}
public void setAttr4(Long attr4) {
public void setAttr4(String attr4) {
this.attr4 = attr4;
}
public Long getAttr4() {
public String getAttr4() {
return attr4;
}

@ -71,6 +71,8 @@ public class OdsProcureOrder extends BaseEntity {
*/
@Excel(name = "工厂编码")
private String siteCode;
private String cardNum;
/**
*
*/
@ -283,6 +285,14 @@ public class OdsProcureOrder extends BaseEntity {
this.Remark = Remark;
}
public String getCardNum() {
return cardNum;
}
public void setCardNum(String cardNum) {
this.cardNum = cardNum;
}
/**
*
*/

@ -3,6 +3,7 @@ package com.op.wms.mapper;
import java.util.List;
import com.op.wms.domain.OdsProcureOrder;
import org.apache.ibatis.annotations.Param;
/**
* Mapper
@ -72,4 +73,6 @@ public interface OdsProcureOrderMapper {
void updateOdsProcureOrderByProcureCode(OdsProcureOrder odsProcureOrder);
List<OdsProcureOrder> getIdCardList(OdsProcureOrder odsProcureOrder);
void addBatchPallet(@Param("list")List<OdsProcureOrder> dtos);
}

@ -4,6 +4,7 @@ import java.util.List;
import com.op.system.api.domain.wms.wmsReportWork;
import com.op.wms.domain.ProOrderWorkorder;
import com.op.wms.domain.WmsProductPut;
import org.apache.ibatis.annotations.Param;
@ -81,6 +82,10 @@ public interface WmsProductPutMapper {
WmsProductPut selectProOrderWorkorderBatchPallet(WmsProductPut wmsProductPut);
WmsProductPut selectProOrderWorkorderBatchPalletcode(WmsProductPut wmsProductPut);
WmsProductPut selectProOrderWorkorderBatchPalletAtter(ProOrderWorkorder proOrderWorkorder);
// String selectWmsProductPutNum(wmsReportWork wmsReportWork);
}

@ -112,5 +112,5 @@ public interface IOdsProcureOrderService {
void OutboundPostingSAPfc(List<OdsProcureOutOrder> orderList);
List<ProOrderWorkorder> getIdCardList(OdsProcureOrder odsProcureOrder);
List<OdsProcureOrder> getIdCardList(OdsProcureOrder odsProcureOrder);
}

@ -15,6 +15,7 @@ import java.util.*;
import com.op.common.core.domain.R;
import com.op.common.core.utils.DateUtils;
import com.op.common.core.web.domain.AjaxResult;
import com.op.common.security.utils.SecurityUtils;
import com.op.system.api.RemoteOpenService;
@ -41,6 +42,7 @@ import com.op.wms.mapper.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.op.wms.service.IOdsProcureOrderService;
import org.springframework.util.CollectionUtils;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
@ -77,6 +79,9 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
private WmsRawOrderInMapper wmsRawOrderInMapper;
@Autowired
private RemoteOpenService remoteOpenService;
@Autowired
private BaseProductAttachedMapper baseProductAttachedMapper;
/**
*
*
@ -1075,10 +1080,69 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
@Override
public List<ProOrderWorkorder> getIdCardList(OdsProcureOrder odsProcureOrder) {
List<OdsProcureOrder> orderList= odsProcureOrderMapper.getIdCardList(odsProcureOrder);
@DS("#header.poolName")
public List<OdsProcureOrder> getIdCardList(OdsProcureOrder odsProcureOrder) {
// DynamicDataSourceContextHolder.push("ds_" + odsProcureOrder.getFactoryCode());
List<OdsProcureOrder> dtos = new ArrayList<>();
OdsProcureOrder order=odsProcureOrderMapper.selectOdsProcureOrderByID(odsProcureOrder.getID());
//根据采购单获取一托盘要装多少
BaseProductAttached baseProductAttached=new BaseProductAttached();
String trimmedMaterialCode = order.getMaterialCode().substring(7);
baseProductAttached.setProductCode(trimmedMaterialCode);
List<BaseProductAttached> baseProductAttacheds= baseProductAttachedMapper.selectBaseProductAttachedList(baseProductAttached);
if (baseProductAttacheds.size()==0){
//没有配置附属信息
return null;
}
String name = odsProcureOrderMapper.selectBaseSupplier(order);
order.setSupplierName(name);
List<OdsProcureOrder> dtos0= odsProcureOrderMapper.getIdCardList(order);
if(dtos0.size()==0){
//说明没生成过标识卡
OdsProcureOrder pw = new OdsProcureOrder();
int i = 1;
String palletNum = baseProductAttacheds.get(0).getPalletNum();
Date nowDate = DateUtils.getNowDate();
return null;
if(palletNum!=null){
BigDecimal pall = order.getPlanNumber();
BigDecimal pn = new BigDecimal(palletNum);
while(pall.compareTo(BigDecimal.ZERO)>0){
pw = new OdsProcureOrder();
pw.setSiteCode(order.getSiteCode());
pw.setProcureCode(order.getProcureCode());
pw.setUserDefined3(order.getUserDefined3());//行项目
pw.setMaterialCode(order.getMaterialCode());
pw.setMaterialDesc(order.getMaterialDesc());
pw.setPlanNumber(pn);
pw.setSupplierCode(order.getSupplierCode());
pw.setSupplierName(order.getSupplierName());
pw.setUserDefined8(order.getUserDefined8());
pw.setUserDefined11(order.getUserDefined11());
pw.setUnit(order.getUnit());
if(pall.compareTo(pn)<0) {//最后一托盘
pw.setPlanNumber(pall);
}else{
pw.setPlanNumber(pn);
}
pw.setCardNum(String.valueOf(i++));
String dateString = pw.getUserDefined11().replace("-", "");
pw.setUserDefined1(pw.getProcureCode()+"-"+pw.getUserDefined3()+"-"+pw.getUserDefined8()+"-"+dateString+"-"+pw.getCardNum());//采购单+行项目+类型+日期+板次
pw.setCreateTime(nowDate);
pw.setActive("1");
dtos.add(pw);
pall = pall.subtract(pn);
}
}
if(!CollectionUtils.isEmpty(dtos)){
odsProcureOrderMapper.addBatchPallet(dtos);
}
}else{
dtos.addAll(dtos0);
}
return dtos;
}
public String DesignatedPalletOutboundWCS(WMSDesignatedPalle wmsDesignatedPalle) {

@ -1032,11 +1032,11 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
public WmsProductPut WmsProductPutByWorkOrderqueryBS(WmsProductPut wmsProductPut) {
// 使用 split 方法根据 '-' 分割字符串,结果是一个字符串数组
DynamicDataSourceContextHolder.push("ds_" + wmsProductPut.getFactoryCode());
String[] attributes = wmsProductPut.getPallet().split("-");
// 通过索引访问分割后的数组,获取所需的三个属性
String attribute1 = attributes[0]; // 获取第一个属性
String attribute2 = attributes[1]; // 获取第二个属性
String attribute3 = attributes[2]; // 获取第三个属性
// String[] attributes = wmsProductPut.getPallet().split("-");
WmsProductPut wmsProductPutTEM= wmsProductPutMapper.selectProOrderWorkorderBatchPalletcode(wmsProductPut);
String attribute1 = wmsProductPutTEM.getAttribute1(); // 获取第一个属性
String attribute2 = wmsProductPutTEM.getAttribute2(); // 获取第二个属性
String attribute3 = wmsProductPutTEM.getAttribute3(); // 获取第三个属性
wmsProductPut.setAttribute1(attribute1);
wmsProductPut.setAttribute2(attribute2);
wmsProductPut.setAttribute3(attribute3);
@ -1091,11 +1091,12 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
@Override
public ProOrderWorkorder finishedProductProductionRecordscar(ProOrderWorkorder proOrderWorkorder) {
DynamicDataSourceContextHolder.push("ds_" + proOrderWorkorder.getFactoryCode());
String[] attributes = proOrderWorkorder.getAttr1().split("-");
//String[] attributes = proOrderWorkorder.getAttr1().split("-");
// 通过索引访问分割后的数组,获取所需的三个属性
String attribute1 = attributes[0]; // 获取第一个属性
String attribute2 = attributes[1]; // 获取第二个属性
String attribute3 = attributes[2]; // 获取第三个属性
WmsProductPut wmsProductPutTEM= wmsProductPutMapper.selectProOrderWorkorderBatchPalletAtter(proOrderWorkorder);
String attribute1 = wmsProductPutTEM.getAttribute1(); // 获取第一个属性
String attribute2 = wmsProductPutTEM.getAttribute2(); // 获取第二个属性
String attribute3 = wmsProductPutTEM.getAttribute3(); // 获取第三个属性
proOrderWorkorder.setWorkorderCodeSap(attribute1);
proOrderWorkorder.setBatchCode(attribute2);
WmsProductPut wmsProductPut =new WmsProductPut();

@ -13,11 +13,13 @@ spring:
cloud:
nacos:
discovery:
#命名空间
namespace: lanju-op-test
group: test
# 服务注册地址
server-addr: 192.168.202.20:8848
config:
#命名空间
namespace: lanju-op-test
group: test
# 服务注册地址

@ -14,6 +14,7 @@
<result property="planNumber" column="Plan_Number"/>
<result property="Unit" column="Unit"/>
<result property="realityNumber" column="Reality_Number"/>
<result property="cardNum" column="cardNum"/>
<result property="orderStatus" column="Order_Status"/>
<result property="userDefined1" column="User_Defined1"/>
<result property="userDefined2" column="User_Defined2"/>
@ -250,7 +251,185 @@
and Active= #{Active}
</select>
<select id="getIdCardList">
<select id="getIdCardList" parameterType="OdsProcureOrder" resultMap="OdsProcureOrderResult">
SELECT
Site_code,
ID,
Procure_Code,
Material_Code,
Material_Desc,
Plan_Date,
Plan_Number,
Unit,
COALESCE ( Reality_Number, 0 ) Reality_Number,
card_num cardNum,
User_Defined1,
User_Defined2,
User_Defined3,
User_Defined4,
User_Defined5,
User_Defined6,
User_Defined7,
User_Defined8,
User_Defined9,
User_Defined10,
User_Defined11,
Supplier_Code,
Supplier_Name,
Remark,
Create_By,
Create_Date,
Last_Update_By,
Last_Update_Date,
Active,
Enterprise_Id,
Enterprise_Code,
COALESCE ( Operation_Number, 0 ) Operation_Number
FROM
ods_procure_order_card
where Procure_Code=#{procureCode} and User_Defined3= #{userDefined3} and User_Defined8= #{userDefined8} and User_Defined11= #{userDefined11}
</select>
<!-- 定义一个插入操作ID为addBatchPallet参数类型为List<OdsProcureOrder> -->
<insert id="addBatchPallet" parameterType="java.util.List">
<!-- 使用<foreach>标签遍历传入的集合item为集合中每个元素index为当前索引 -->
<foreach collection="list" item="dto" separator=";">
<!-- 插入数据到ods_procure_order_card表 -->
insert into ods_procure_order_card
<!-- 使用<trim>标签来处理列名,这样可以自动去掉最后一个逗号 -->
<trim prefix="(" suffix=")" suffixOverrides=",">
<!-- 如果siteCode不为null则添加列名Site_code -->
<if test="dto.siteCode != null">Site_code,</if>
<!-- 如果ID不为null则添加列名ID -->
<if test="dto.ID != null">ID,</if>
<!-- 如果cardNum不为null则添加列名card_num -->
<if test="dto.cardNum != null">card_num,</if>
<!-- 如果procureCode不为null则添加列名Procure_Code -->
<if test="dto.procureCode != null">Procure_Code,</if>
<!-- 如果materialCode不为null则添加列名Material_Code -->
<if test="dto.materialCode != null">Material_Code,</if>
<!-- 如果materialDesc不为null则添加列名Material_Desc -->
<if test="dto.materialDesc != null">Material_Desc,</if>
<!-- 如果planDate不为null则添加列名Plan_Date -->
<if test="dto.planDate != null">Plan_Date,</if>
<!-- 如果planNumber不为null则添加列名Plan_Number -->
<if test="dto.planNumber != null">Plan_Number,</if>
<!-- 如果Unit不为null则添加列名Unit -->
<if test="dto.Unit != null">Unit,</if>
<!-- 如果realityNumber不为null则添加列名Reality_Number -->
<if test="dto.realityNumber != null">Reality_Number,</if>
<!-- 如果orderStatus不为null则添加列名Order_Status -->
<if test="dto.orderStatus != null">Order_Status,</if>
<!-- 如果userDefined1不为null则添加列名User_Defined1 -->
<if test="dto.userDefined1 != null">User_Defined1,</if>
<!-- 如果userDefined2不为null则添加列名User_Defined2 -->
<if test="dto.userDefined2 != null">User_Defined2,</if>
<!-- 如果userDefined3不为null则添加列名User_Defined3 -->
<if test="dto.userDefined3 != null">User_Defined3,</if>
<!-- 如果userDefined4不为null则添加列名User_Defined4 -->
<if test="dto.userDefined4 != null">User_Defined4,</if>
<!-- 如果userDefined5不为null则添加列名User_Defined5 -->
<if test="dto.userDefined5 != null">User_Defined5,</if>
<!-- 如果userDefined6不为null则添加列名User_Defined6 -->
<if test="dto.userDefined6 != null">User_Defined6,</if>
<!-- 如果userDefined7不为null则添加列名User_Defined7 -->
<if test="dto.userDefined7 != null">User_Defined7,</if>
<!-- 如果userDefined8不为null则添加列名User_Defined8 -->
<if test="dto.userDefined8 != null">User_Defined8,</if>
<!-- 如果userDefined9不为null则添加列名User_Defined9 -->
<if test="dto.userDefined9 != null">User_Defined9,</if>
<!-- 如果userDefined10不为null则添加列名User_Defined10 -->
<if test="dto.userDefined10 != null">User_Defined10,</if>
<!-- 如果userDefined11不为null则添加列名User_Defined11 -->
<if test="dto.userDefined11 != null">User_Defined11,</if>
<!-- 如果supplierCode不为null则添加列名Supplier_Code -->
<if test="dto.supplierCode != null">Supplier_Code,</if>
<!-- 如果supplierName不为null则添加列名Supplier_Name -->
<if test="dto.supplierName != null">Supplier_Name,</if>
<!-- 如果Remark不为null则添加列名Remark -->
<if test="dto.Remark != null">Remark,</if>
<!-- 如果createBy不为null则添加列名Create_By -->
<if test="dto.createBy != null">Create_By,</if>
<!-- 如果createDate不为null则添加列名Create_Date -->
<if test="dto.createDate != null">Create_Date,</if>
<!-- 如果lastUpdateBy不为null则添加列名Last_Update_By -->
<if test="dto.lastUpdateBy != null">Last_Update_By,</if>
<!-- 如果lastUpdateDate不为null则添加列名Last_Update_Date -->
<if test="dto.lastUpdateDate != null">Last_Update_Date,</if>
<!-- 如果Active不为null则添加列名Active -->
<if test="dto.Active != null">Active,</if>
<!-- 如果enterpriseId不为null则添加列名Enterprise_Id -->
<if test="dto.enterpriseId != null">Enterprise_Id,</if>
<!-- 如果enterpriseCode不为null则添加列名Enterprise_Code -->
<if test="dto.enterpriseCode != null">Enterprise_Code,</if>
</trim>
<!-- 使用<trim>标签来处理值,这样可以自动去掉最后一个逗号 -->
<trim prefix="values (" suffix=")" suffixOverrides=",">
<!-- 如果siteCode不为null则添加对应的值 -->
<if test="dto.siteCode != null">#{dto.siteCode},</if>
<!-- 如果ID不为null则添加对应的值 -->
<if test="dto.ID != null">#{dto.ID},</if>
<!-- 如果cardNum不为null则添加对应的值 -->
<if test="dto.cardNum != null">#{dto.cardNum},</if>
<!-- 如果procureCode不为null则添加对应的值 -->
<if test="dto.procureCode != null">#{dto.procureCode},</if>
<!-- 如果materialCode不为null则添加对应的值 -->
<if test="dto.materialCode != null">#{dto.materialCode},</if>
<!-- 如果materialDesc不为null则添加对应的值 -->
<if test="dto.materialDesc != null">#{dto.materialDesc},</if>
<!-- 如果planDate不为null则添加对应的值 -->
<if test="dto.planDate != null">#{dto.planDate},</if>
<!-- 如果planNumber不为null则添加对应的值 -->
<if test="dto.planNumber != null">#{dto.planNumber},</if>
<!-- 如果Unit不为null则添加对应的值 -->
<if test="dto.Unit != null">#{dto.Unit},</if>
<!-- 如果realityNumber不为null则添加对应的值 -->
<if test="dto.realityNumber != null">#{dto.realityNumber},</if>
<!-- 如果orderStatus不为null则添加对应的值 -->
<if test="dto.orderStatus != null">#{dto.orderStatus},</if>
<!-- 如果userDefined1不为null则添加对应的值 -->
<if test="dto.userDefined1 != null">#{dto.userDefined1},</if>
<!-- 如果userDefined2不为null则添加对应的值 -->
<if test="dto.userDefined2 != null">#{dto.userDefined2},</if>
<!-- 如果userDefined3不为null则添加对应的值 -->
<if test="dto.userDefined3 != null">#{dto.userDefined3},</if>
<!-- 如果userDefined4不为null则添加对应的值 -->
<if test="dto.userDefined4 != null">#{dto.userDefined4},</if>
<!-- 如果userDefined5不为null则添加对应的值 -->
<if test="dto.userDefined5 != null">#{dto.userDefined5},</if>
<!-- 如果userDefined6不为null则添加对应的值 -->
<if test="dto.userDefined6 != null">#{dto.userDefined6},</if>
<!-- 如果userDefined7不为null则添加对应的值 -->
<if test="dto.userDefined7 != null">#{dto.userDefined7},</if>
<!-- 如果userDefined8不为null则添加对应的值 -->
<if test="dto.userDefined8 != null">#{dto.userDefined8},</if>
<!-- 如果userDefined9不为null则添加对应的值 -->
<if test="dto.userDefined9 != null">#{dto.userDefined9},</if>
<!-- 如果userDefined10不为null则添加对应的值 -->
<if test="dto.userDefined10 != null">#{dto.userDefined10},</if>
<!-- 如果userDefined11不为null则添加对应的值 -->
<if test="dto.userDefined11 != null">#{dto.userDefined11},</if>
<!-- 如果supplierCode不为null则添加对应的值 -->
<if test="dto.supplierCode != null">#{dto.supplierCode},</if>
<!-- 如果supplierName不为null则添加对应的值 -->
<if test="dto.supplierName != null">#{dto.supplierName},</if>
<!-- 如果Remark不为null则添加对应的值 -->
<if test="dto.Remark != null">#{dto.Remark},</if>
<!-- 如果createBy不为null则添加对应的值 -->
<if test="dto.createBy != null">#{dto.createBy},</if>
<!-- 如果createDate不为null则添加对应的值 -->
<if test="dto.createDate != null">#{dto.createDate},</if>
<!-- 如果lastUpdateBy不为null则添加对应的值 -->
<if test="dto.lastUpdateBy != null">#{dto.lastUpdateBy},</if>
<!-- 如果lastUpdateDate不为null则添加对应的值 -->
<if test="dto.lastUpdateDate != null">#{dto.lastUpdateDate},</if>
<!-- 如果Active不为null则添加对应的值 -->
<if test="dto.Active != null">#{dto.Active},</if>
<!-- 如果enterpriseId不为null则添加对应的值 -->
<if test="dto.enterpriseId != null">#{dto.enterpriseId},</if>
<!-- 如果enterpriseCode不为null则添加对应的值 -->
<if test="dto.enterpriseCode != null">#{dto.enterpriseCode},</if>
</trim>
</foreach>
</insert>
</mapper>

@ -39,6 +39,9 @@
<result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
<result property="attribute1" column="attribute1"/>
<result property="attribute2" column="attribute2"/>
<result property="attribute3" column="attribute3"/>
</resultMap>
<sql id="selectWmsProductPutVo">
@ -432,4 +435,29 @@
AND pro_order_workorder_batch_pallet.pallet_num= #{pallet}
</select>
<select id="selectProOrderWorkorderBatchPalletcode" resultMap="WmsProductPutResult">
SELECT
pro_order_workorder_batch_pallet.workorder_code AS attribute1,
pro_order_workorder_batch_pallet.batch_code AS attribute2,
pro_order_workorder_batch_pallet.pallet_num AS attribute3
FROM
pro_order_workorder_batch_pallet
WHERE
pro_order_workorder_batch_pallet.pallet_code= #{pallet}
</select>
<select id="selectProOrderWorkorderBatchPalletAtter" resultMap="WmsProductPutResult">
SELECT
pro_order_workorder_batch_pallet.workorder_code AS attribute1,
pro_order_workorder_batch_pallet.batch_code AS attribute2,
pro_order_workorder_batch_pallet.pallet_num AS attribute3
FROM
pro_order_workorder_batch_pallet
WHERE
pro_order_workorder_batch_pallet.pallet_code= #{attr1}
</select>
</mapper>

Loading…
Cancel
Save