入库检验任务接口

master
zhaoxiaolin 1 year ago
parent a4ad441dad
commit 86e6b205a0

@ -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);
}

@ -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();
}
}

@ -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 FallbackFactory<RemoteQuali
@Override
public R createIncomeTask(QcCheckTaskIncomeDTO qcCheckTaskIncome) {
return R.fail("来料计划创建失败:" + throwable.getMessage());
return R.fail("来料检验创建失败:" + throwable.getMessage());
}
@Override
public R createProductTask(QcCheckTaskWarehousingDTO qcCheckTaskWarehousingDTO) {
return R.fail("入库检验任务创建失败:" + throwable.getMessage());
}
};
}

@ -6,7 +6,10 @@ import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.op.common.core.utils.DateUtils;
import com.op.common.core.utils.bean.BeanUtils;
import com.op.quality.domain.QcCheckTaskIncome;
import com.op.quality.domain.QcCheckTaskProduce;
import com.op.system.api.domain.quality.QcCheckTaskWarehousingDTO;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
@ -103,6 +106,17 @@ public class QcCheckTaskWarehousingController extends BaseController {
return error("添加失败:请检查物料的关联检测项");
}
@PostMapping("/createProductTask")
public AjaxResult createProductTask(@RequestBody QcCheckTaskWarehousingDTO qcCheckTaskWarehousingDTO) {
QcCheckTaskWarehousing qcCheckTaskIncome = new QcCheckTaskWarehousing();
BeanUtils.copyProperties(qcCheckTaskIncome,qcCheckTaskWarehousingDTO);
int r = qcCheckTaskWarehousingService.insertQcCheckTaskWarehousing(qcCheckTaskIncome);
if(r>0){
return toAjax(r);
}
return error("添加失败:请检查物料的关联检测项");
}
/**
*
*/

@ -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;

@ -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

@ -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<QcCheckTaskUser> 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<QcCheckTaskUser> 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<QcUserMaterialDTO> 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());

@ -131,6 +131,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="typeCode != null">type_code,</if>
<if test="noOkQuality != null">noOk_quality,</if>
<if test="sampleQuality != null">sample_quality,</if>
<if test="orderType != null">order_type,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="recordId != null">#{recordId},</if>
@ -165,6 +166,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="typeCode != null">#{typeCode},</if>
<if test="noOkQuality != null">#{noOkQuality},</if>
<if test="sampleQuality != null">#{sampleQuality},</if>
<if test="orderType != null">#{orderType},</if>
</trim>
</insert>

Loading…
Cancel
Save