diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/RemoteQualityService.java b/op-api/op-api-system/src/main/java/com/op/system/api/RemoteQualityService.java index e17a555c..6197718d 100644 --- a/op-api/op-api-system/src/main/java/com/op/system/api/RemoteQualityService.java +++ b/op-api/op-api-system/src/main/java/com/op/system/api/RemoteQualityService.java @@ -3,6 +3,7 @@ package com.op.system.api; import com.op.common.core.constant.ServiceNameConstants; import com.op.common.core.domain.R; import com.op.system.api.domain.quality.QcCheckTaskIncomeDTO; +import com.op.system.api.domain.quality.QcCheckTaskWarehousingDTO; import com.op.system.api.factory.RemoteDeviceFallbackFactory; import com.op.system.api.factory.RemoteQualityFallbackFactory; import org.springframework.cloud.openfeign.FeignClient; @@ -25,4 +26,7 @@ public interface RemoteQualityService { @PostMapping("/qcIncome/createIncomeTask") public R createIncomeTask(@RequestBody QcCheckTaskIncomeDTO qcCheckTaskIncome); + + @PostMapping("/qcWarehousing/createProductTask") + public R createProductTask(@RequestBody QcCheckTaskWarehousingDTO qcCheckTaskIncome); } diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/domain/quality/QcCheckTaskWarehousingDTO.java b/op-api/op-api-system/src/main/java/com/op/system/api/domain/quality/QcCheckTaskWarehousingDTO.java new file mode 100644 index 00000000..47f4b0bb --- /dev/null +++ b/op-api/op-api-system/src/main/java/com/op/system/api/domain/quality/QcCheckTaskWarehousingDTO.java @@ -0,0 +1,376 @@ +package com.op.system.api.domain.quality; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.op.common.core.annotation.Excel; +import com.op.common.core.web.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 成品入库检验任务对象 qc_check_task_warehousing + * + * @author Open Platform + * @date 2023-10-19 + */ +public class QcCheckTaskWarehousingDTO extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** id */ + private String recordId; + + /** 检验任务编号 */ + @Excel(name = "检验任务编号") + private String checkNo; + + /** 批次号 */ + @Excel(name = "批次号") + private String incomeBatchNo; + + /** 订单号 */ + @Excel(name = "订单号") + private String orderNo; + + /** 物料号 */ + @Excel(name = "物料号") + private String materialCode; + + /** 物料名称 */ + @Excel(name = "物料名称") + private String materialName; + + /** 数量 */ + @Excel(name = "数量") + private BigDecimal quality; + + /** 单位 */ + @Excel(name = "单位") + private String unit; + + /** 仓库编码 */ + @Excel(name = "仓库编码") + private String supplierCode; + + /** 仓库名称 */ + @Excel(name = "仓库名称") + private String supplierName; + + /** 来料时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "入库时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date incomeTime; + + /** 检测地点 */ + @Excel(name = "检测地点") + private String checkLoc; + + /** 检测状态 */ + @Excel(name = "检测状态") + private String checkStatus; + + /** 检测人工号 */ + @Excel(name = "检测人工号") + private String checkManCode; + + /** 检测人姓名 */ + @Excel(name = "检测人姓名") + private String checkManName; + + /** 检验时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "检验时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date checkTime; + + /** 检验结果Y合格 */ + @Excel(name = "检验结果Y合格") + private String checkResult; + + /** 是否启用1启用0停用 */ + @Excel(name = "是否启用1启用0停用") + private String status; + + /** 预留字段1 */ + @Excel(name = "预留字段1") + private String attr1; + + /** 预留字段2 */ + @Excel(name = "预留字段2") + private String attr2; + + /** 预留字段3 */ + @Excel(name = "预留字段3") + private String attr3; + + /** 预留字段4 */ + @Excel(name = "预留字段4") + private String attr4; + + /** 工厂编码 */ + @Excel(name = "工厂编码") + private String factoryCode; + + /** 删除标识1删除0正常 */ + private String delFlag; + + private String incomeTimeStart; + private String incomeTimeEnd; + private String checkTimeStart; + private String checkTimeEnd; + private String typeCode; + private String checkType; + + public String getCheckType() { + return checkType; + } + + public void setCheckType(String checkType) { + this.checkType = checkType; + } + + public String getIncomeTimeStart() { + return incomeTimeStart; + } + + public void setIncomeTimeStart(String incomeTimeStart) { + this.incomeTimeStart = incomeTimeStart; + } + + public String getIncomeTimeEnd() { + return incomeTimeEnd; + } + + public void setIncomeTimeEnd(String incomeTimeEnd) { + this.incomeTimeEnd = incomeTimeEnd; + } + + public String getCheckTimeStart() { + return checkTimeStart; + } + + public void setCheckTimeStart(String checkTimeStart) { + this.checkTimeStart = checkTimeStart; + } + + public String getCheckTimeEnd() { + return checkTimeEnd; + } + + public void setCheckTimeEnd(String checkTimeEnd) { + this.checkTimeEnd = checkTimeEnd; + } + + public String getTypeCode() { + return typeCode; + } + + public void setTypeCode(String typeCode) { + this.typeCode = typeCode; + } + + public void setRecordId(String recordId) { + this.recordId = recordId; + } + + public String getRecordId() { + return recordId; + } + public void setCheckNo(String checkNo) { + this.checkNo = checkNo; + } + + public String getCheckNo() { + return checkNo; + } + + public void setOrderNo(String orderNo) { + this.orderNo = orderNo; + } + + public String getOrderNo() { + return orderNo; + } + public void setMaterialCode(String materialCode) { + this.materialCode = materialCode; + } + + public String getMaterialCode() { + return materialCode; + } + public void setMaterialName(String materialName) { + this.materialName = materialName; + } + + public String getMaterialName() { + return materialName; + } + public void setQuality(BigDecimal quality) { + this.quality = quality; + } + + public BigDecimal getQuality() { + return quality; + } + public void setUnit(String unit) { + this.unit = unit; + } + + public String getUnit() { + return unit; + } + public void setSupplierCode(String supplierCode) { + this.supplierCode = supplierCode; + } + + public String getSupplierCode() { + return supplierCode; + } + public void setSupplierName(String supplierName) { + this.supplierName = supplierName; + } + + public String getSupplierName() { + return supplierName; + } + public void setIncomeTime(Date incomeTime) { + this.incomeTime = incomeTime; + } + + public Date getIncomeTime() { + return incomeTime; + } + public void setCheckLoc(String checkLoc) { + this.checkLoc = checkLoc; + } + + public String getCheckLoc() { + return checkLoc; + } + public void setCheckStatus(String checkStatus) { + this.checkStatus = checkStatus; + } + + public String getCheckStatus() { + return checkStatus; + } + public void setCheckManCode(String checkManCode) { + this.checkManCode = checkManCode; + } + + public String getCheckManCode() { + return checkManCode; + } + public void setCheckManName(String checkManName) { + this.checkManName = checkManName; + } + + public String getCheckManName() { + return checkManName; + } + public void setCheckTime(Date checkTime) { + this.checkTime = checkTime; + } + + public Date getCheckTime() { + return checkTime; + } + public void setCheckResult(String checkResult) { + this.checkResult = checkResult; + } + + public String getCheckResult() { + return checkResult; + } + public void setStatus(String status) { + this.status = status; + } + + public String getStatus() { + return status; + } + 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 setAttr4(String attr4) { + this.attr4 = attr4; + } + + public String getAttr4() { + return attr4; + } + public void setFactoryCode(String factoryCode) { + this.factoryCode = factoryCode; + } + + public String getFactoryCode() { + return factoryCode; + } + public void setDelFlag(String delFlag) { + this.delFlag = delFlag; + } + + public String getDelFlag() { + return delFlag; + } + + public String getIncomeBatchNo() { + return incomeBatchNo; + } + + public void setIncomeBatchNo(String incomeBatchNo) { + this.incomeBatchNo = incomeBatchNo; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("recordId", getRecordId()) + .append("checkNo", getCheckNo()) + .append("incomeBatchNo", getIncomeBatchNo()) + .append("orderNo", getOrderNo()) + .append("materialCode", getMaterialCode()) + .append("materialName", getMaterialName()) + .append("quality", getQuality()) + .append("unit", getUnit()) + .append("supplierCode", getSupplierCode()) + .append("supplierName", getSupplierName()) + .append("incomeTime", getIncomeTime()) + .append("checkLoc", getCheckLoc()) + .append("checkStatus", getCheckStatus()) + .append("checkManCode", getCheckManCode()) + .append("checkManName", getCheckManName()) + .append("checkTime", getCheckTime()) + .append("checkResult", getCheckResult()) + .append("status", getStatus()) + .append("attr1", getAttr1()) + .append("attr2", getAttr2()) + .append("attr3", getAttr3()) + .append("attr4", getAttr4()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("factoryCode", getFactoryCode()) + .append("delFlag", getDelFlag()) + .toString(); + } +} diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteQualityFallbackFactory.java b/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteQualityFallbackFactory.java index f7a38663..4d63c12c 100644 --- a/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteQualityFallbackFactory.java +++ b/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteQualityFallbackFactory.java @@ -5,6 +5,7 @@ import com.op.common.core.domain.R; import com.op.system.api.RemoteDeviceService; import com.op.system.api.RemoteQualityService; import com.op.system.api.domain.quality.QcCheckTaskIncomeDTO; +import com.op.system.api.domain.quality.QcCheckTaskWarehousingDTO; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.cloud.openfeign.FallbackFactory; @@ -30,7 +31,12 @@ public class RemoteQualityFallbackFactory implements FallbackFactory0){ + return toAjax(r); + } + return error("添加失败:请检查物料的关联检测项"); + } + /** * 修改成品入库检验任务 */ diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskWarehousing.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskWarehousing.java index c267cb33..e186e3db 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskWarehousing.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskWarehousing.java @@ -119,6 +119,15 @@ public class QcCheckTaskWarehousing extends BaseEntity { private String checkTimeEnd; private String typeCode; private String checkType; + private String orderType; + + public String getOrderType() { + return orderType; + } + + public void setOrderType(String orderType) { + this.orderType = orderType; + } public String getCheckType() { return checkType; diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckTaskWarehousingService.java b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckTaskWarehousingService.java index d972ff19..dfc40dc4 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckTaskWarehousingService.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckTaskWarehousingService.java @@ -2,6 +2,7 @@ package com.op.quality.service; import java.util.List; import com.op.quality.domain.QcCheckTaskWarehousing; +import com.op.system.api.domain.quality.QcCheckTaskWarehousingDTO; /** * 成品入库检验任务Service接口 diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskWarehousingServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskWarehousingServiceImpl.java index bdc73e26..1d232d15 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskWarehousingServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskWarehousingServiceImpl.java @@ -12,13 +12,13 @@ import com.op.common.core.utils.StringUtils; import com.op.common.core.utils.uuid.IdUtils; import com.op.common.security.utils.SecurityUtils; import com.op.quality.domain.*; -import com.op.quality.mapper.QcCheckTaskDetailMapper; -import com.op.quality.mapper.QcCheckTypeProjectMapper; -import com.op.quality.mapper.QcMaterialGroupDetailMapper; +import com.op.quality.mapper.*; import com.op.quality.service.IQcCheckTaskUserService; +import com.op.system.api.domain.quality.QcUserMaterialDTO; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.op.quality.mapper.QcCheckTaskWarehousingMapper; import com.op.quality.service.IQcCheckTaskWarehousingService; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; @@ -35,6 +35,7 @@ import javax.servlet.http.HttpServletRequest; */ @Service public class QcCheckTaskWarehousingServiceImpl implements IQcCheckTaskWarehousingService { + protected Logger logger = LoggerFactory.getLogger(getClass()); @Autowired private QcCheckTaskWarehousingMapper qcCheckTaskWarehousingMapper; @@ -50,6 +51,8 @@ public class QcCheckTaskWarehousingServiceImpl implements IQcCheckTaskWarehousin @Autowired private IQcCheckTaskUserService qcCheckTaskUserService; + private QcCheckTaskIncomeMapper qcCheckTaskIncomeMapper; + /** * 查询成品入库检验任务 * @@ -132,24 +135,50 @@ public class QcCheckTaskWarehousingServiceImpl implements IQcCheckTaskWarehousin qcCheckTaskWarehousing.setCreateTime(nowDate); qcCheckTaskWarehousing.setTypeCode("product");//大检验节点 /**qc_task_user start**/ - String checkManName = qcCheckTaskWarehousing.getCheckManName(); - String checkManCode = qcCheckTaskWarehousing.getCheckManCode(); - qcCheckTaskWarehousing.setCheckManName(""); - qcCheckTaskWarehousing.setCheckManCode(""); - String[] splitNames = checkManName.split(","); - String[] splitCodes = checkManCode.split(","); - List qcCheckTaskUserList = new ArrayList<>(); - for (int i = 0; i < splitNames.length; i++) { - QcCheckTaskUser qcCheckTaskUser = new QcCheckTaskUser(); - qcCheckTaskUser.setCheckManName(splitNames[i]); - qcCheckTaskUser.setCheckManCode(splitCodes[i]); - qcCheckTaskUser.setCheckNo(qcCheckTaskWarehousing.getCheckNo()); - qcCheckTaskUser.setBelongTo(beLongId); - qcCheckTaskUserList.add(qcCheckTaskUser); + if(StringUtils.isNotBlank(qcCheckTaskWarehousing.getCheckManName())){ + String checkManName = qcCheckTaskWarehousing.getCheckManName(); + String checkManCode = qcCheckTaskWarehousing.getCheckManCode(); + qcCheckTaskWarehousing.setCheckManName(""); + qcCheckTaskWarehousing.setCheckManCode(""); + String[] splitNames = checkManName.split(","); + String[] splitCodes = checkManCode.split(","); + List qcCheckTaskUserList = new ArrayList<>(); + for (int i = 0; i < splitNames.length; i++) { + QcCheckTaskUser qcCheckTaskUser = new QcCheckTaskUser(); + qcCheckTaskUser.setCheckManName(splitNames[i]); + qcCheckTaskUser.setCheckManCode(splitCodes[i]); + qcCheckTaskUser.setCheckNo(qcCheckTaskWarehousing.getCheckNo()); + qcCheckTaskUser.setBelongTo(beLongId); + qcCheckTaskUserList.add(qcCheckTaskUser); + } + //检验人插入 + qcCheckTaskUserService.insertQcCheckTaskUserList(qcCheckTaskUserList); + }else{//上位机触发 + qcCheckTaskWarehousing.setCheckManName(""); + qcCheckTaskWarehousing.setCheckManCode(""); + /**qc_user_material取默认检查人**/ + List users = qcCheckTaskIncomeMapper.getUserByMaterial(qcCheckTaskWarehousing.getMaterialCode()); + if(CollectionUtils.isEmpty(users)){ + QcUserMaterialDTO dto0 = new QcUserMaterialDTO(); + dto0.setUserCode("mobile"); + dto0.setUserName("手持测试用户"); + users.add(dto0); + }else{ + for(QcUserMaterialDTO user:users){ + user.setId(IdUtils.fastSimpleUUID()); + user.setBelongTo(beLongId); + user.setCheckNo(qcCheckTaskWarehousing.getCheckNo()); + user.setCreateBy(createBy); + user.setFactoryCode(factoryCode); + user.setCreateTime(nowDate); + } + } + int m=qcCheckTaskIncomeMapper.addCheckUsers(users); + logger.info("检查人新增"+m+"成功"); } + qcCheckTaskWarehousingMapper.insertQcCheckTaskWarehousing(qcCheckTaskWarehousing); - //检验人插入 - qcCheckTaskUserService.insertQcCheckTaskUserList(qcCheckTaskUserList); + /**qc_check_task_detail**/ for(QcCheckTaskDetail item:items){ item.setRecordId(IdUtils.fastSimpleUUID()); diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskWarehousingMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskWarehousingMapper.xml index debdfb6e..9d16ea66 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskWarehousingMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskWarehousingMapper.xml @@ -131,6 +131,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" type_code, noOk_quality, sample_quality, + order_type, #{recordId}, @@ -165,6 +166,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{typeCode}, #{noOkQuality}, #{sampleQuality}, + #{orderType},