diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckReportInventoryController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckReportInventoryController.java new file mode 100644 index 00000000..eed07714 --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckReportInventoryController.java @@ -0,0 +1,185 @@ +package com.op.quality.controller; + +import com.op.common.core.utils.DateUtils; +import com.op.common.core.utils.poi.ExcelUtil; +import com.op.common.core.web.controller.BaseController; +import com.op.common.core.web.domain.AjaxResult; +import com.op.common.core.web.page.TableDataInfo; +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.security.utils.SecurityUtils; +import com.op.quality.domain.QcBomComponent; +import com.op.quality.domain.QcCheckReportIncome; +import com.op.quality.domain.QcCheckTaskDetail; +import com.op.quality.domain.QcSupplier; +import com.op.quality.service.IQcCheckReportInventoryService; +import com.op.system.api.domain.SysUser; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.List; + +/** + * 来料检验Controller + * + * @author Open Platform + * @date 2023-10-19 + */ +@RestController +@RequestMapping("/qcInventoryReport") +public class QcCheckReportInventoryController extends BaseController { + @Autowired + private IQcCheckReportInventoryService qcCheckReportInventoryService; + + /** + * 查询来料检验列表 + */ + @RequiresPermissions("quality:incomeReport:list") + @GetMapping("/list") + public TableDataInfo list(QcCheckReportIncome qcCheckReportIncome) { + + //默认时间范围T 00:00:00~T+1 00:00:00 + if(StringUtils.isEmpty(qcCheckReportIncome.getCheckTimeStart())){ + qcCheckReportIncome.setCheckTimeStart(DateUtils.getDate()+" 00:00:00");//start + LocalDate date = LocalDate.now(); + LocalDate dateEnd = date.plusDays(1); + DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + String dateEndStr = dtf.format(dateEnd)+" 23:59:59"; + qcCheckReportIncome.setCheckTimeEnd(dateEndStr);//end + } + +// if(StringUtils.isEmpty(qcCheckReportIncome.getCheckTimeStart())){ +// qcCheckReportIncome.setCheckTimeStart(qcCheckReportIncome.getIncomeTimeStart());//start +// qcCheckReportIncome.setCheckTimeEnd(qcCheckReportIncome.getIncomeTimeStart());//end +// } + + startPage(); + List list = qcCheckReportInventoryService.selectQcCheckReportIncomeList(qcCheckReportIncome); + return getDataTable(list); + } + + /** + * 导出来料检验列表 + */ + @RequiresPermissions("quality:incomeReport:export") + @Log(title = "来料检验", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, QcCheckReportIncome qcCheckReportIncome) { + + //默认时间范围T 00:00:00~T+1 00:00:00 + if(StringUtils.isEmpty(qcCheckReportIncome.getIncomeTimeStart())){ + qcCheckReportIncome.setIncomeTimeStart(DateUtils.getDate()+" 00:00:00");//start + LocalDate date = LocalDate.now(); + LocalDate dateEnd = date.plusDays(1); + DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + String dateEndStr = dtf.format(dateEnd)+" 00:00:00"; + qcCheckReportIncome.setIncomeTimeEnd(dateEndStr);//end + } + +// if(StringUtils.isEmpty(qcCheckReportIncome.getCheckTimeStart())){ +// qcCheckReportIncome.setCheckTimeStart(qcCheckReportIncome.getIncomeTimeStart());//start +// qcCheckReportIncome.setCheckTimeEnd(qcCheckReportIncome.getIncomeTimeStart());//end +// } + + List list = qcCheckReportInventoryService.selectQcCheckReportIncomeList(qcCheckReportIncome); + ExcelUtil util = new ExcelUtil(QcCheckReportIncome.class); + util.exportExcel(response, list, "来料检验数据"); + } + + /** + * 获取来料检验详细信息 + */ + @RequiresPermissions("quality:incomeReport:query") + @GetMapping(value = "/{recordId}") + public AjaxResult getInfo(@PathVariable("recordId") String recordId) { + return success(qcCheckReportInventoryService.selectQcCheckReportIncomeByRecordId(recordId)); + } + + /** + * 新增来料检验 + */ + @RequiresPermissions("quality:incomeReport:add") + @Log(title = "来料检验", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody QcCheckReportIncome qcCheckReportIncome) { + int r = qcCheckReportInventoryService.insertQcCheckReportIncome(qcCheckReportIncome); + if(r>0){ + return toAjax(r); + } + return error("添加失败:请检查物料的关联检测项"); + } + + /** + * 修改来料检验 + */ + @RequiresPermissions("quality:incomeReport:edit") + @Log(title = "来料检验", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody QcCheckReportIncome qcCheckReportIncome) { + return toAjax(qcCheckReportInventoryService.updateQcCheckReportIncome(qcCheckReportIncome)); + } + + /** + * 删除来料检验 + */ + @RequiresPermissions("quality:incomeReport:remove") + @Log(title = "来料检验", businessType = BusinessType.DELETE) + @DeleteMapping("/{recordIds}") + public AjaxResult remove(@PathVariable String[] recordIds) { + return toAjax(qcCheckReportInventoryService.deleteQcCheckReportIncomeByRecordIds(recordIds)); + } + + /** + * 查询BOM物料管理列表 + */ + @GetMapping("/getQcListBom") + public TableDataInfo getQcListBom(QcBomComponent bomComponent) { + startPage(); + List list = qcCheckReportInventoryService.getQcListBom(bomComponent); + return getDataTable(list); + } + /** + * 查询供应商列表 + */ + @GetMapping("/getQcListSupplier") + public TableDataInfo getQcListSupplier(QcSupplier qcSupplier) { + startPage(); + List list = qcCheckReportInventoryService.getQcListSupplier(qcSupplier); + return getDataTable(list); + } + /** + * 查询人员列表 + */ + @GetMapping("/getQcListUser") + public TableDataInfo getQcListUser(SysUser sysUser) { + startPage(); + List list = qcCheckReportInventoryService.getQcListUser(sysUser); + return getDataTable(list); + } + + /** + * 状态修改 + */ + @PutMapping("/changeIncomeStatus") + public AjaxResult changeIncomeStatus(@RequestBody QcCheckReportIncome qcCheckReportIncome) { + qcCheckReportIncome.setUpdateBy(SecurityUtils.getUsername()); + qcCheckReportIncome.setUpdateTime(DateUtils.getNowDate()); + return toAjax(qcCheckReportInventoryService.updateIncomeStatus(qcCheckReportIncome)); + } + + /** + * 检验项目弹窗列表 + * @param + * @return + */ + @GetMapping("/getCkeckProjectList") + public TableDataInfo getCkeckProjectList(QcCheckTaskDetail qcCheckTaskDetail) { + List list = qcCheckReportInventoryService.getCkeckProjectList(qcCheckTaskDetail); + return getDataTable(list); + } +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTaskInventoryController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTaskInventoryController.java new file mode 100644 index 00000000..1df4ac03 --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTaskInventoryController.java @@ -0,0 +1,116 @@ +package com.op.quality.controller; + +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import com.op.common.core.utils.DateUtils; +import org.apache.commons.lang.StringUtils; +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.quality.domain.QcCheckTaskInventory; +import com.op.quality.service.IQcCheckTaskInventoryService; +import com.op.common.core.web.controller.BaseController; +import com.op.common.core.web.domain.AjaxResult; +import com.op.common.core.utils.poi.ExcelUtil; +import com.op.common.core.web.page.TableDataInfo; + +/** + * 库存检验任务Controller + * + * @author Open Platform + * @date 2024-01-12 + */ +@RestController +@RequestMapping("/qcInventory") +public class QcCheckTaskInventoryController extends BaseController { + @Autowired + private IQcCheckTaskInventoryService qcCheckTaskInventoryService; + + /** + * 查询库存检验任务列表 + */ + @RequiresPermissions("quality:qcInventory:list") + @GetMapping("/list") + public TableDataInfo list(QcCheckTaskInventory qcCheckTaskInventory) { + + //默认时间范围T 00:00:00~T+1 00:00:00 + if(StringUtils.isEmpty(qcCheckTaskInventory.getIncomeTimeStart())){ + qcCheckTaskInventory.setIncomeTimeStart(DateUtils.getDate()+" 00:00:00");//start + LocalDate date = LocalDate.now(); + LocalDate dateEnd = date.plusDays(1); + DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + String dateEndStr = dtf.format(dateEnd)+" 00:00:00"; + qcCheckTaskInventory.setIncomeTimeEnd(dateEndStr);//end + } + startPage(); + List list = qcCheckTaskInventoryService.selectQcCheckTaskInventoryList(qcCheckTaskInventory); + return getDataTable(list); + } + + /** + * 导出库存检验任务列表 + */ + @RequiresPermissions("quality:qcInventory:export") + @Log(title = "库存检验任务", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, QcCheckTaskInventory qcCheckTaskInventory) { + List list = qcCheckTaskInventoryService.selectQcCheckTaskInventoryList(qcCheckTaskInventory); + ExcelUtil util = new ExcelUtil(QcCheckTaskInventory.class); + util.exportExcel(response, list, "库存检验任务数据"); + } + + /** + * 获取库存检验任务详细信息 + */ + @RequiresPermissions("quality:qcInventory:query") + @GetMapping(value = "/{recordId}") + public AjaxResult getInfo(@PathVariable("recordId") String recordId) { + return success(qcCheckTaskInventoryService.selectQcCheckTaskInventoryByRecordId(recordId)); + } + + /** + * 新增库存检验任务 + */ + @RequiresPermissions("quality:qcInventory:add") + @Log(title = "库存检验任务", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody QcCheckTaskInventory qcCheckTaskInventory) { + int r = qcCheckTaskInventoryService.insertQcCheckTaskInventory(qcCheckTaskInventory); + if(r>0){ + return toAjax(r); + } + return error("添加失败:请检查物料的关联检测项"); + } + + /** + * 修改库存检验任务 + */ + @RequiresPermissions("quality:qcInventory:edit") + @Log(title = "库存检验任务", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody QcCheckTaskInventory qcCheckTaskInventory) { + return toAjax(qcCheckTaskInventoryService.updateQcCheckTaskInventory(qcCheckTaskInventory)); + } + + /** + * 删除库存检验任务 + */ + @RequiresPermissions("quality:qcInventory:remove") + @Log(title = "库存检验任务", businessType = BusinessType.DELETE) + @DeleteMapping("/{recordIds}") + public AjaxResult remove(@PathVariable String[] recordIds) { + return toAjax(qcCheckTaskInventoryService.deleteQcCheckTaskInventoryByRecordIds(recordIds)); + } +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcMaterialGroupDetailController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcMaterialGroupDetailController.java index 142d4c26..522ea65e 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcMaterialGroupDetailController.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcMaterialGroupDetailController.java @@ -41,7 +41,6 @@ public class QcMaterialGroupDetailController extends BaseController { @RequiresPermissions("quality:materialGroupDetail:list") @GetMapping("/list") public TableDataInfo list(QcMaterialGroupDetail qcMaterialGroupDetail) { - startPage(); List list = qcMaterialGroupDetailService.selectQcMaterialGroupDetailList(qcMaterialGroupDetail); return getDataTable(list); } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskInventory.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskInventory.java new file mode 100644 index 00000000..a6c7cd2c --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskInventory.java @@ -0,0 +1,451 @@ +package com.op.quality.domain; + +import java.math.BigDecimal; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +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_check_task_inventory + * + * @author Open Platform + * @date 2024-01-12 + */ +public class QcCheckTaskInventory 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") + @Excel(name = "来料时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date incomeTime; + + /** 检测地点 */ + @Excel(name = "检测地点") + private String checkLoc; + + /** 检测状态0待检测1检测中2检测完成 */ + @Excel(name = "检测状态0待检测1检测中2检测完成") + private String checkStatus; + + /** 检测人工号 */ + @Excel(name = "检测人工号") + private String checkManCode; + + /** 检测人姓名 */ + @Excel(name = "检测人姓名") + private String checkManName; + + /** 检验时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "检验时间", width = 30, dateFormat = "yyyy-MM-dd") + 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; + + /** 检验节点 */ + @Excel(name = "检验节点") + private String checkType; + + /** 不合格数量 */ + @Excel(name = "不合格数量") + private BigDecimal nookQuality; + + /** 抽样数量 */ + @Excel(name = "抽样数量") + private BigDecimal sampleQuality; + + /** A类不良 */ + @Excel(name = "A类不良") + private BigDecimal aNoOkquality; + + /** B类不良 */ + @Excel(name = "B类不良") + private BigDecimal bNoOkquality; + + /** C类不良 */ + @Excel(name = "C类不良") + private BigDecimal cNoOkquality; + + /** 检验节点大类 */ + @Excel(name = "检验节点大类") + private String typeCode; + + /** 订单类型 */ + @Excel(name = "订单类型") + private String orderType; + + private String incomeTimeStart; + private String incomeTimeEnd; + private String checkTimeStart; + private String checkTimeEnd; + + 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 setIncomeBatchNo(String incomeBatchNo) { + this.incomeBatchNo = incomeBatchNo; + } + + public String getIncomeBatchNo() { + return incomeBatchNo; + } + 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 void setCheckType(String checkType) { + this.checkType = checkType; + } + + public String getCheckType() { + return checkType; + } + public void setNookQuality(BigDecimal nookQuality) { + this.nookQuality = nookQuality; + } + + public BigDecimal getNookQuality() { + return nookQuality; + } + public void setSampleQuality(BigDecimal sampleQuality) { + this.sampleQuality = sampleQuality; + } + + public BigDecimal getSampleQuality() { + return sampleQuality; + } + public void setaNoOkquality(BigDecimal aNoOkquality) { + this.aNoOkquality = aNoOkquality; + } + + public BigDecimal getaNoOkquality() { + return aNoOkquality; + } + public void setbNoOkquality(BigDecimal bNoOkquality) { + this.bNoOkquality = bNoOkquality; + } + + public BigDecimal getbNoOkquality() { + return bNoOkquality; + } + public void setcNoOkquality(BigDecimal cNoOkquality) { + this.cNoOkquality = cNoOkquality; + } + + public BigDecimal getcNoOkquality() { + return cNoOkquality; + } + public void setTypeCode(String typeCode) { + this.typeCode = typeCode; + } + + public String getTypeCode() { + return typeCode; + } + public void setOrderType(String orderType) { + this.orderType = orderType; + } + + public String getOrderType() { + return orderType; + } + + 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; + } + + @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()) + .append("checkType", getCheckType()) + .append("nookQuality", getNookQuality()) + .append("sampleQuality", getSampleQuality()) + .append("aNoOkquality", getaNoOkquality()) + .append("bNoOkquality", getbNoOkquality()) + .append("cNoOkquality", getcNoOkquality()) + .append("typeCode", getTypeCode()) + .append("orderType", getOrderType()) + .toString(); + } +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckTaskInventoryMapper.java b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckTaskInventoryMapper.java new file mode 100644 index 00000000..5e6c6d19 --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckTaskInventoryMapper.java @@ -0,0 +1,68 @@ +package com.op.quality.mapper; + +import java.util.List; + +import com.op.quality.domain.QcCheckTaskInventory; +import com.op.quality.domain.QcCheckTaskProduce; +import org.apache.ibatis.annotations.Mapper; + +/** + * 库存检验任务Mapper接口 + * + * @author Open Platform + * @date 2024-01-12 + */ +@Mapper +public interface QcCheckTaskInventoryMapper { + /** + * 查询库存检验任务 + * + * @param recordId 库存检验任务主键 + * @return 库存检验任务 + */ + public QcCheckTaskInventory selectQcCheckTaskInventoryByRecordId(String recordId); + + /** + * 查询库存检验任务列表 + * + * @param qcCheckTaskInventory 库存检验任务 + * @return 库存检验任务集合 + */ + public List selectQcCheckTaskInventoryList(QcCheckTaskInventory qcCheckTaskInventory); + + /** + * 新增库存检验任务 + * + * @param qcCheckTaskInventory 库存检验任务 + * @return 结果 + */ + public int insertQcCheckTaskInventory(QcCheckTaskInventory qcCheckTaskInventory); + + /** + * 修改库存检验任务 + * + * @param qcCheckTaskInventory 库存检验任务 + * @return 结果 + */ + public int updateQcCheckTaskInventory(QcCheckTaskInventory qcCheckTaskInventory); + + /** + * 删除库存检验任务 + * + * @param recordId 库存检验任务主键 + * @return 结果 + */ + public int deleteQcCheckTaskInventoryByRecordId(String recordId); + + /** + * 批量删除库存检验任务 + * + * @param recordIds 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteQcCheckTaskInventoryByRecordIds(String[] recordIds); + + int getTodayMaxNum(QcCheckTaskInventory qcCheckTaskInventory); + + +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckReportInventoryService.java b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckReportInventoryService.java new file mode 100644 index 00000000..d4c46755 --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckReportInventoryService.java @@ -0,0 +1,78 @@ +package com.op.quality.service; + +import com.op.quality.domain.QcBomComponent; +import com.op.quality.domain.QcCheckReportIncome; +import com.op.quality.domain.QcCheckTaskDetail; +import com.op.quality.domain.QcSupplier; +import com.op.system.api.domain.SysUser; + +import java.util.List; + +/** + * 来料报告Service接口 + * + * @author Open Platform + * @date 2023-10-19 + */ +public interface IQcCheckReportInventoryService { + /** + * 查询来料报告 + * + * @param recordId 来料报告主键 + * @return 来料检验 + */ + public QcCheckReportIncome selectQcCheckReportIncomeByRecordId(String recordId); + + /** + * 查询来料报告列表 + * + * @param qcCheckReportIncome 来料报告 + * @return 来料检验集合 + */ + public List selectQcCheckReportIncomeList(QcCheckReportIncome qcCheckReportIncome); + + /** + * 新增来料报告 + * + * @param qcCheckReportIncome 来料报告 + * @return 结果 + */ + public int insertQcCheckReportIncome(QcCheckReportIncome qcCheckReportIncome); + + /** + * 修改来料报告 + * + * @param qcCheckReportIncome 来料报告 + * @return 结果 + */ + public int updateQcCheckReportIncome(QcCheckReportIncome qcCheckReportIncome); + + /** + * 批量删除来料报告 + * + * @param recordIds 需要删除的来料报告主键集合 + * @return 结果 + */ + public int deleteQcCheckReportIncomeByRecordIds(String[] recordIds); + + /** + * 删除来料报告信息 + * + * @param recordId 来料报告主键 + * @return 结果 + */ + public int deleteQcCheckReportIncomeByRecordId(String recordId); + + public List getQcListBom(QcBomComponent bomComponent); + + public List getQcListSupplier(QcSupplier qcSupplier); + + public List getQcListUser(SysUser sysUser); + + int updateIncomeStatus(QcCheckReportIncome qcCheckReportIncome); + + List getCkeckProjectList(QcCheckTaskDetail qcCheckTaskDetail); + + public List getPrintData(QcCheckReportIncome qcCheckReportIncome); + +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckTaskInventoryService.java b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckTaskInventoryService.java new file mode 100644 index 00000000..88c7eb6a --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckTaskInventoryService.java @@ -0,0 +1,60 @@ +package com.op.quality.service; + +import java.util.List; +import com.op.quality.domain.QcCheckTaskInventory; + +/** + * 库存检验任务Service接口 + * + * @author Open Platform + * @date 2024-01-12 + */ +public interface IQcCheckTaskInventoryService { + /** + * 查询库存检验任务 + * + * @param recordId 库存检验任务主键 + * @return 库存检验任务 + */ + public QcCheckTaskInventory selectQcCheckTaskInventoryByRecordId(String recordId); + + /** + * 查询库存检验任务列表 + * + * @param qcCheckTaskInventory 库存检验任务 + * @return 库存检验任务集合 + */ + public List selectQcCheckTaskInventoryList(QcCheckTaskInventory qcCheckTaskInventory); + + /** + * 新增库存检验任务 + * + * @param qcCheckTaskInventory 库存检验任务 + * @return 结果 + */ + public int insertQcCheckTaskInventory(QcCheckTaskInventory qcCheckTaskInventory); + + /** + * 修改库存检验任务 + * + * @param qcCheckTaskInventory 库存检验任务 + * @return 结果 + */ + public int updateQcCheckTaskInventory(QcCheckTaskInventory qcCheckTaskInventory); + + /** + * 批量删除库存检验任务 + * + * @param recordIds 需要删除的库存检验任务主键集合 + * @return 结果 + */ + public int deleteQcCheckTaskInventoryByRecordIds(String[] recordIds); + + /** + * 删除库存检验任务信息 + * + * @param recordId 库存检验任务主键 + * @return 结果 + */ + public int deleteQcCheckTaskInventoryByRecordId(String recordId); +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckReportInventoryServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckReportInventoryServiceImpl.java new file mode 100644 index 00000000..8b99ab6b --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckReportInventoryServiceImpl.java @@ -0,0 +1,206 @@ +package com.op.quality.service.impl; + +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.*; +import com.op.quality.mapper.QcCheckReportIncomeMapper; +import com.op.quality.mapper.QcCheckTaskDetailMapper; +import com.op.quality.mapper.QcCheckTypeProjectMapper; +import com.op.quality.mapper.QcMaterialGroupDetailMapper; +import com.op.quality.service.IQcCheckReportIncomeService; +import com.op.quality.service.IQcCheckReportInventoryService; +import com.op.system.api.domain.SysUser; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; +import java.util.Date; +import java.util.List; + +/** + * 来料检验Service业务层处理 + * + * @author Open Platform + * @date 2023-10-19 + */ +@Service +public class QcCheckReportInventoryServiceImpl implements IQcCheckReportInventoryService { + @Autowired + private QcCheckReportIncomeMapper qcCheckReportIncomeMapper; + + @Autowired + private QcCheckTypeProjectMapper qcCheckTypeProjectMapper; + + @Autowired + private QcMaterialGroupDetailMapper qcMaterialGroupDetailMapper; + + @Autowired + private QcCheckTaskDetailMapper qcCheckTaskDetailMapper; + + /** + * 查询来料检验 + * + * @param recordId 来料检验主键 + * @return 来料检验 + */ + @Override + @DS("#header.poolName") + public QcCheckReportIncome selectQcCheckReportIncomeByRecordId(String recordId) { + return qcCheckReportIncomeMapper.selectQcCheckReportIncomeByRecordId(recordId); + } + + /** + * 查询来料检验列表 + * + * @param qcCheckReportIncome 来料检验 + * @return 来料检验 + */ + @Override + @DS("#header.poolName") + public List selectQcCheckReportIncomeList(QcCheckReportIncome qcCheckReportIncome) { + qcCheckReportIncome.setDelFlag("0"); + qcCheckReportIncome.setTypeCode("inventory"); + return qcCheckReportIncomeMapper.selectQcCheckReportIncomeList(qcCheckReportIncome); + } + + /** + * 新增来料检验 + * + * @param qcCheckReportIncome 来料检验 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int insertQcCheckReportIncome(QcCheckReportIncome qcCheckReportIncome) { + + String bpDD = DateUtils.parseDateToStr(DateUtils.YYYYMMDD, DateUtils.getNowDate()); + int liushuiNum = qcCheckReportIncomeMapper.getTodayMaxNum(qcCheckReportIncome); + String liushuiStr = String.format("%04d", liushuiNum); + + String createBy = SecurityUtils.getUsername(); + Date nowDate= DateUtils.getNowDate(); + //获取当前所选工厂 + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + String key = "#header.poolName"; + String factoryCode = request.getHeader(key.substring(8)).replace("ds_",""); + + qcCheckReportIncome.setCheckNo(bpDD+liushuiStr); + + /**qc_check_task_income**/ + String beLongId = IdUtils.fastSimpleUUID(); + qcCheckReportIncome.setRecordId(beLongId); + qcCheckReportIncome.setFactoryCode(factoryCode); + qcCheckReportIncome.setCreateTime(nowDate); + qcCheckReportIncomeMapper.insertQcCheckReportIncome(qcCheckReportIncome); + + /**取检测项**/ + QcCheckTypeProject qctp= new QcCheckTypeProject(); + qctp.setTypeId(qcCheckReportIncome.getCheckType());//生产过程检验 + qctp.setMaterialCode(qcCheckReportIncome.getMaterialCode());//特性 + /**qc_check_type_project**/ + List items = qcCheckTypeProjectMapper.getTPByTypeMaterial(qctp); + if(CollectionUtils.isEmpty(items)){ + /**qc_material_group_detail**/ + QcMaterialGroupDetail group = qcMaterialGroupDetailMapper.getGroupByMaterial(qcCheckReportIncome.getMaterialCode()); + if(group == null){ + return 0;//没有找到检测项目 + } + qctp.setGroupId(group.getGroupId());//共性 + items = qcCheckTypeProjectMapper.getTPByTypeGroup(qctp); + } + + /**qc_check_task_detail**/ + if(CollectionUtils.isEmpty(items)){ + return 0;//没有找到检测项目 + } + + for(QcCheckTaskDetail item:items){ + item.setRecordId(IdUtils.fastSimpleUUID()); + item.setBelongTo(beLongId); + item.setCreateTime(nowDate); + item.setCreateBy(createBy); + item.setFactoryCode(factoryCode); + item.setStatus("N"); + } + return qcCheckTaskDetailMapper.addBatch(items); + } + + /** + * 修改来料检验 + * + * @param qcCheckReportIncome 来料检验 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int updateQcCheckReportIncome(QcCheckReportIncome qcCheckReportIncome) { + qcCheckReportIncome.setUpdateTime(DateUtils.getNowDate()); + return qcCheckReportIncomeMapper.updateQcCheckReportIncome(qcCheckReportIncome); + } + + /** + * 批量删除来料检验 + * + * @param recordIds 需要删除的来料检验主键 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int deleteQcCheckReportIncomeByRecordIds(String[] recordIds) { + return qcCheckReportIncomeMapper.deleteQcCheckReportIncomeByRecordIds(recordIds); + } + + /** + * 删除来料检验信息 + * + * @param recordId 来料检验主键 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int deleteQcCheckReportIncomeByRecordId(String recordId) { + return qcCheckReportIncomeMapper.deleteQcCheckReportIncomeByRecordId(recordId); + } + + @Override + @DS("#header.poolName") + public List getQcListBom(QcBomComponent bomComponent) { + return qcCheckReportIncomeMapper.getQcListBom(bomComponent); + } + + @Override + @DS("#header.poolName") + public List getQcListSupplier(QcSupplier qcSupplier) { + return qcCheckReportIncomeMapper.getQcListSupplier(qcSupplier); + } + + @Override + @DS("master") + public List getQcListUser(SysUser sysUser) { + return qcCheckReportIncomeMapper.getQcListUser(sysUser); + } + + @Override + @DS("#header.poolName") + public int updateIncomeStatus(QcCheckReportIncome qcCheckReportIncome) { + return qcCheckReportIncomeMapper.updateQcCheckReportIncome(qcCheckReportIncome); + } + + @Override + @DS("#header.poolName") + public List getCkeckProjectList(QcCheckTaskDetail qcCheckTaskDetail) { + return qcCheckReportIncomeMapper.getCkeckProjectList(qcCheckTaskDetail); + } + + @Override + @DS("#header.poolName") + public List getPrintData(QcCheckReportIncome qcCheckReportIncome) { + return null; + } + +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskIncomeServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskIncomeServiceImpl.java index 493ca14e..9b741d61 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskIncomeServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskIncomeServiceImpl.java @@ -58,6 +58,9 @@ public class QcCheckTaskIncomeServiceImpl implements IQcCheckTaskIncomeService { @Autowired private QcCheckTaskWarehousingMapper qcCheckTaskWarehousingMapper; + @Autowired + private QcCheckTaskInventoryMapper qcCheckTaskInventoryMapper; + @Autowired private QcCheckUnqualifiedMapper qcCheckUnqualifiedMapper; @@ -128,7 +131,7 @@ public class QcCheckTaskIncomeServiceImpl implements IQcCheckTaskIncomeService { //个性 QcMaterialGroupDetail group = qcMaterialGroupDetailMapper.getGroupByMaterial(qcCheckTaskIncome.getMaterialCode()); if(group == null){ - return 0;//没有找到检测项目 + return 0;//没有找到检测项目 } //共性 qctp.setGroupId(group.getGroupId()); @@ -376,10 +379,18 @@ public class QcCheckTaskIncomeServiceImpl implements IQcCheckTaskIncomeService { warehousing.setCheckResult(result); warehousing.setCheckTime(DateUtils.getNowDate()); warehousing.setCheckManCode(SecurityUtils.getUsername()); - n = qcCheckTaskWarehousingMapper.updateQcCheckTaskWarehousing(warehousing); + n = qcCheckTaskWarehousingMapper.updateQcCheckTaskWarehousing(warehousing); + } else if ("inventory".equals(qcCheckTaskIncome.getTypeCode())) { + QcCheckTaskInventory qcCheckTaskInventory = new QcCheckTaskInventory(); + qcCheckTaskInventory.setCheckStatus("2"); + qcCheckTaskInventory.setRecordId(recordId); + qcCheckTaskInventory.setCheckResult(result); + qcCheckTaskInventory.setCheckTime(DateUtils.getNowDate()); + qcCheckTaskInventory.setCheckManCode(SecurityUtils.getUsername()); + n = qcCheckTaskInventoryMapper.updateQcCheckTaskInventory(qcCheckTaskInventory); } - //不合格处理 + //不合格处理 if("N".equals(result)){ QcCheckUnqualified unqualified = new QcCheckUnqualified(); unqualified.setId(IdUtils.fastSimpleUUID()); diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskInventoryServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskInventoryServiceImpl.java new file mode 100644 index 00000000..96284a07 --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskInventoryServiceImpl.java @@ -0,0 +1,269 @@ +package com.op.quality.service.impl; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder; +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.security.utils.SecurityUtils; +import com.op.quality.domain.*; +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.service.IQcCheckTaskInventoryService; +import org.springframework.util.CollectionUtils; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; + +/** + * 库存检验任务Service业务层处理 + * + * @author Open Platform + * @date 2024-01-12 + */ +@Service +public class QcCheckTaskInventoryServiceImpl implements IQcCheckTaskInventoryService { + protected Logger logger = LoggerFactory.getLogger(getClass()); + @Autowired + private QcCheckTaskInventoryMapper qcCheckTaskInventoryMapper; + + @Autowired + private QcCheckTaskDetailMapper qcCheckTaskDetailMapper; + + @Autowired + private QcCheckTypeProjectMapper qcCheckTypeProjectMapper; + @Autowired + private QcMaterialGroupDetailMapper qcMaterialGroupDetailMapper; + + @Autowired + private IQcCheckTaskUserService qcCheckTaskUserService; + + @Autowired + private QcCheckTaskIncomeMapper qcCheckTaskIncomeMapper; + + /** + * 查询库存检验任务 + * + * @param recordId 库存检验任务主键 + * @return 库存检验任务 + */ + @Override + @DS("#header.poolName") + public QcCheckTaskInventory selectQcCheckTaskInventoryByRecordId(String recordId) { + QcCheckTaskInventory qcCheckTaskInventory = qcCheckTaskInventoryMapper.selectQcCheckTaskInventoryByRecordId(recordId); + //获取拼接好的检验人员信息 + QcCheckTaskUser qcCheckTaskUser = qcCheckTaskUserService.selectQcCheckTaskUserByBelongTo(recordId); + if (qcCheckTaskUser != null && StringUtils.isNotBlank(qcCheckTaskUser.getManNames())) { + qcCheckTaskInventory.setCheckManName(qcCheckTaskUser.getManNames()); + } + if (qcCheckTaskUser != null && StringUtils.isNotBlank(qcCheckTaskUser.getManCodes())) { + qcCheckTaskInventory.setCheckManCode(qcCheckTaskUser.getManCodes()); + } + return qcCheckTaskInventory; + } + + /** + * 查询库存检验任务列表 + * + * @param qcCheckTaskInventory 库存检验任务 + * @return 库存检验任务 + */ + @Override + @DS("#header.poolName") + public List selectQcCheckTaskInventoryList(QcCheckTaskInventory qcCheckTaskInventory) { + qcCheckTaskInventory.setDelFlag("0"); + qcCheckTaskInventory.setTypeCode("inventory"); + return qcCheckTaskInventoryMapper.selectQcCheckTaskInventoryList(qcCheckTaskInventory); + } + + /** + * 新增库存检验任务 + * + * @param qcCheckTaskInventory 库存检验任务 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int insertQcCheckTaskInventory(QcCheckTaskInventory qcCheckTaskInventory) { + String factoryCode = ""; + if(StringUtils.isNotBlank(qcCheckTaskInventory.getFactoryCode())){ + DynamicDataSourceContextHolder.push("ds_"+qcCheckTaskInventory.getFactoryCode()); + factoryCode= qcCheckTaskInventory.getFactoryCode(); + }else{ + //获取当前所选工厂 + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + String key = "#header.poolName"; + factoryCode = request.getHeader(key.substring(8)).replace("ds_",""); + } + + qcCheckTaskInventory.setCreateTime(DateUtils.getNowDate()); + + String bpDD = DateUtils.parseDateToStr(DateUtils.YYYYMMDD, DateUtils.getNowDate()); + int liushuiNum = qcCheckTaskInventoryMapper.getTodayMaxNum(qcCheckTaskInventory); + String liushuiStr = String.format("%04d", liushuiNum); + + String createBy = SecurityUtils.getUsername(); + Date nowDate = DateUtils.getNowDate(); + + qcCheckTaskInventory.setCheckNo(bpDD+liushuiStr); + + /**取检测项**/ + QcCheckTypeProject qctp= new QcCheckTypeProject(); + qctp.setTypeId(qcCheckTaskInventory.getCheckType());//生产过程检验 + qctp.setMaterialCode(qcCheckTaskInventory.getMaterialCode());//特性 + /**qc_check_type_project**/ + List items = qcCheckTypeProjectMapper.getTPByTypeMaterial(qctp); + if(CollectionUtils.isEmpty(items)){ + /**qc_material_group_detail**/ + QcMaterialGroupDetail group = qcMaterialGroupDetailMapper.getGroupByMaterial(qcCheckTaskInventory.getMaterialCode()); + if(group == null){ + return 0;//没有找到检测项目 + } + qctp.setGroupId(group.getGroupId());//共性 + items = qcCheckTypeProjectMapper.getTPByTypeGroup(qctp); + } + + /**qc_check_task_detail**/ + if(CollectionUtils.isEmpty(items)){ + return 0;//没有找到检测项目 + } + + /**qc_check_task**/ + String beLongId = IdUtils.fastSimpleUUID(); + qcCheckTaskInventory.setRecordId(beLongId); + qcCheckTaskInventory.setFactoryCode(factoryCode); + qcCheckTaskInventory.setCreateTime(nowDate); + qcCheckTaskInventory.setTypeCode("inventory");//大检验节点 + /**qc_task_user start**/ + if(StringUtils.isNotBlank(qcCheckTaskInventory.getCheckManName())){ + String checkManName = qcCheckTaskInventory.getCheckManName(); + String checkManCode = qcCheckTaskInventory.getCheckManCode(); + qcCheckTaskInventory.setCheckManName(""); + qcCheckTaskInventory.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(qcCheckTaskInventory.getCheckNo()); + qcCheckTaskUser.setBelongTo(beLongId); + qcCheckTaskUserList.add(qcCheckTaskUser); + } + //检验人插入 + qcCheckTaskUserService.insertQcCheckTaskUserList(qcCheckTaskUserList); + }else{//上位机 + qcCheckTaskInventory.setCheckManName(""); + qcCheckTaskInventory.setCheckManCode(""); + /**qc_user_material取默认检查人**/ + List users = qcCheckTaskIncomeMapper.getUserByMaterial(qcCheckTaskInventory.getMaterialCode()); + if(!CollectionUtils.isEmpty(users)){ + for(QcUserMaterialDTO user:users){ + user.setId(IdUtils.fastSimpleUUID()); + user.setBelongTo(beLongId); + user.setCheckNo(qcCheckTaskInventory.getCheckNo()); + user.setCreateBy(createBy); + user.setFactoryCode(factoryCode); + user.setCreateTime(nowDate); + } + int m=qcCheckTaskIncomeMapper.addCheckUsers(users); + logger.info("检查人新增"+m+"成功"); + } + } + /**qc_check_task**/ + qcCheckTaskInventoryMapper.insertQcCheckTaskInventory(qcCheckTaskInventory); + + /**qc_check_task_detail**/ + for(QcCheckTaskDetail item:items){ + item.setRecordId(IdUtils.fastSimpleUUID()); + item.setBelongTo(beLongId); + item.setCreateTime(nowDate); + item.setCreateBy(createBy); + item.setFactoryCode(factoryCode); + item.setStatus("N"); + } + return qcCheckTaskDetailMapper.addBatch(items); + } + + /** + * 修改库存检验任务 + * + * @param qcCheckTaskInventory 库存检验任务 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int updateQcCheckTaskInventory(QcCheckTaskInventory qcCheckTaskInventory) { + + qcCheckTaskInventory.setUpdateTime(DateUtils.getNowDate()); + /** qc_task_user**/ + String checkManName = qcCheckTaskInventory.getCheckManName(); + String checkManCode = qcCheckTaskInventory.getCheckManCode(); + qcCheckTaskInventory.setCheckManName(""); + qcCheckTaskInventory.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(qcCheckTaskInventory.getCheckNo()); + qcCheckTaskUser.setBelongTo(qcCheckTaskInventory.getRecordId()); + qcCheckTaskUserList.add(qcCheckTaskUser); + } + qcCheckTaskUserService.updateQcCheckTaskUser(qcCheckTaskUserList); + /** 不良品数据修改 **/ + /*BigDecimal noOkQuality = new BigDecimal(0); + List defectList = qcCheckTaskProduce.getDefects(); + String belongTo = qcCheckTaskProduce.getRecordId(); + //不是空执行下一步,空不做操作 + if (!CollectionUtils.isEmpty(defectList)) { + qcCheckTaskDefectService.deleteQcCheckTaskDefectByBelongTo(belongTo); + for (QcCheckTaskDefect defect : defectList) { + defect.setBelongTo(belongTo); + qcCheckTaskDefectService.insertQcCheckTaskDefect(defect); + noOkQuality = noOkQuality.add(defect.getNoOkQuality()); + } + } + qcCheckTaskProduce.setNoOkQuality(noOkQuality);*/ + + return qcCheckTaskInventoryMapper.updateQcCheckTaskInventory(qcCheckTaskInventory); + } + + /** + * 批量删除库存检验任务 + * + * @param recordIds 需要删除的库存检验任务主键 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int deleteQcCheckTaskInventoryByRecordIds(String[] recordIds) { + return qcCheckTaskInventoryMapper.deleteQcCheckTaskInventoryByRecordIds(recordIds); + } + + /** + * 删除库存检验任务信息 + * + * @param recordId 库存检验任务主键 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int deleteQcCheckTaskInventoryByRecordId(String recordId) { + return qcCheckTaskInventoryMapper.deleteQcCheckTaskInventoryByRecordId(recordId); + } +} diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskInventoryMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskInventoryMapper.xml new file mode 100644 index 00000000..2482369c --- /dev/null +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskInventoryMapper.xml @@ -0,0 +1,232 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select record_id, check_no, income_batch_no, order_no, material_code, material_name, quality, unit, supplier_code, + supplier_name, income_time, check_loc, check_status, check_man_code, check_man_name, check_time, check_result, + status, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time, factory_code, del_flag, + check_type, noOk_quality, sample_quality, aNoOkquality, bNoOkquality, cNoOkquality, type_code, order_type from qc_check_task + + + + + + + + insert into qc_check_task + + record_id, + check_no, + income_batch_no, + order_no, + material_code, + material_name, + quality, + unit, + supplier_code, + supplier_name, + income_time, + check_loc, + check_status, + check_man_code, + check_man_name, + check_time, + check_result, + status, + attr1, + attr2, + attr3, + attr4, + create_by, + create_time, + update_by, + update_time, + factory_code, + del_flag, + check_type, + noOk_quality, + sample_quality, + aNoOkquality, + bNoOkquality, + cNoOkquality, + type_code, + order_type, + + + #{recordId}, + #{checkNo}, + #{incomeBatchNo}, + #{orderNo}, + #{materialCode}, + #{materialName}, + #{quality}, + #{unit}, + #{supplierCode}, + #{supplierName}, + #{incomeTime}, + #{checkLoc}, + #{checkStatus}, + #{checkManCode}, + #{checkManName}, + #{checkTime}, + #{checkResult}, + #{status}, + #{attr1}, + #{attr2}, + #{attr3}, + #{attr4}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + #{factoryCode}, + #{delFlag}, + #{checkType}, + #{nookQuality}, + #{sampleQuality}, + #{aNoOkquality}, + #{bNoOkquality}, + #{cNoOkquality}, + #{typeCode}, + #{orderType}, + + + + + update qc_check_task + + check_no = #{checkNo}, + income_batch_no = #{incomeBatchNo}, + order_no = #{orderNo}, + material_code = #{materialCode}, + material_name = #{materialName}, + quality = #{quality}, + unit = #{unit}, + supplier_code = #{supplierCode}, + supplier_name = #{supplierName}, + income_time = #{incomeTime}, + check_loc = #{checkLoc}, + check_status = #{checkStatus}, + check_man_code = #{checkManCode}, + check_man_name = #{checkManName}, + check_time = #{checkTime}, + check_result = #{checkResult}, + status = #{status}, + attr1 = #{attr1}, + attr2 = #{attr2}, + attr3 = #{attr3}, + attr4 = #{attr4}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + factory_code = #{factoryCode}, + del_flag = #{delFlag}, + check_type = #{checkType}, + noOk_quality = #{nookQuality}, + sample_quality = #{sampleQuality}, + aNoOkquality = #{aNoOkquality}, + bNoOkquality = #{bNoOkquality}, + cNoOkquality = #{cNoOkquality}, + type_code = #{typeCode}, + order_type = #{orderType}, + + where record_id = #{recordId} + + + + delete from qc_check_task where record_id = #{recordId} + + + + delete from qc_check_task where record_id in + + #{recordId} + + + + + \ No newline at end of file