Merge remote-tracking branch 'origin/master'

master
Yangwl 1 year ago
commit b28a727d83

@ -92,7 +92,7 @@ public class MesReportWorkDTO extends BaseEntity {
/** 工时 */
@Excel(name = "工时")
private Long workTime;
private BigDecimal workTime;
/** 线体编码 */
@Excel(name = "线体编码")
@ -163,6 +163,14 @@ public class MesReportWorkDTO extends BaseEntity {
private String feedbackTimeEnd;
private String endReport;
public BigDecimal getWorkTime() {
return workTime;
}
public void setWorkTime(BigDecimal workTime) {
this.workTime = workTime;
}
public String getEndReport() {
return endReport;
}
@ -490,13 +498,6 @@ public class MesReportWorkDTO extends BaseEntity {
public String getStatus() {
return status;
}
public void setWorkTime(Long workTime) {
this.workTime = workTime;
}
public Long getWorkTime() {
return workTime;
}
public void setMachineCode(String machineCode) {
this.machineCode = machineCode;
}

@ -110,7 +110,7 @@ public class wmsReportWork extends BaseEntity {
/** 工时 */
@Excel(name = "工时")
private Long workTime;
private BigDecimal workTime;
@Excel(name = "用人")
private Long useMan;
@ -537,13 +537,15 @@ public class wmsReportWork extends BaseEntity {
public String getStatus() {
return status;
}
public void setWorkTime(Long workTime) {
this.workTime = workTime;
}
public Long getWorkTime() {
public BigDecimal getWorkTime() {
return workTime;
}
public void setWorkTime(BigDecimal workTime) {
this.workTime = workTime;
}
public void setMachineCode(String machineCode) {
this.machineCode = machineCode;
}

@ -110,7 +110,7 @@ public class MesReportWork extends BaseEntity {
/** 工时 */
@Excel(name = "工时")
private Long workTime;
private BigDecimal workTime;
@Excel(name = "用人")
private Long useMan;
@ -537,13 +537,15 @@ public class MesReportWork extends BaseEntity {
public String getStatus() {
return status;
}
public void setWorkTime(Long workTime) {
this.workTime = workTime;
}
public Long getWorkTime() {
public BigDecimal getWorkTime() {
return workTime;
}
public void setWorkTime(BigDecimal workTime) {
this.workTime = workTime;
}
public void setMachineCode(String machineCode) {
this.machineCode = machineCode;
}

@ -136,6 +136,15 @@ public class MesReportWorkController extends BaseController {
}
}
/**
*
*/
@RequiresPermissions("mes:reportWork:edit")
@PutMapping("/reportSapCancel")
public AjaxResult reportSapCancel(@RequestBody MesReportWork mesReportWork) {
return toAjax(mesReportWorkService.reportSapCancel(mesReportWork));
}
/**
*
*/

@ -55,7 +55,7 @@ public class MesReportWork extends BaseEntity {
/** 工时 */
@Excel(name = "工时")
private Long workTime;
private BigDecimal workTime;
@Excel(name = "用人")
private Long useMan;
@ -702,13 +702,15 @@ public class MesReportWork extends BaseEntity {
public String getStatus() {
return status;
}
public void setWorkTime(Long workTime) {
this.workTime = workTime;
}
public Long getWorkTime() {
public BigDecimal getWorkTime() {
return workTime;
}
public void setWorkTime(BigDecimal workTime) {
this.workTime = workTime;
}
public void setMachineCode(String machineCode) {
this.machineCode = machineCode;
}

@ -127,4 +127,6 @@ public interface MesReportWorkMapper {
MesReportWork getEndReport(MesReportWork pWork);
List<MesReportWork> selectMesReportWorkList_S(MesReportWork mesReportWork);
int reportSapCancel(MesReportWork mesReportWork);
}

@ -101,4 +101,6 @@ public interface IMesReportWorkService {
List<MesPrepareDetail> getPrepareList(MesPrepareDetail mesPrepareDetail);
List<MesReportWork> selectMesReportWorkList_S(MesReportWork mesReportWork);
int reportSapCancel(MesReportWork mesReportWork);
}

@ -40,4 +40,5 @@ public interface IWCSInterfaceService {
Map dryRoomDataHeader(BoardDTO boardDTO);
Map dryRoomDataCarousel(BoardDTO boardDTO);
}

@ -536,57 +536,4 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService {
return map;
}
// public static void main(String[] args) {
// param param=new param();
// param.setReqCode(IdUtils.fastSimpleUUID());
// param.setReqTime(DateUtils.dateTimeNow());
// param.setBufferType("10");
// param.setFactory("999");
// try {
// String res= HttpUtils.sendPost("http://192.168.109.36:5001/api/ReceivingAndFeedingMaterials/bufferInfoSync", JSON.toJSONString(param));
// System.out.println(res);
// }catch (Exception e){
// System.out.println(e.getMessage());
// }
//
// }
// static class param{
// String reqCode;
// String reqTime;
// String factory;
// String bufferType;
//
// public String getReqCode() {
// return reqCode;
// }
//
// public void setReqCode(String reqCode) {
// this.reqCode = reqCode;
// }
//
// public String getReqTime() {
// return reqTime;
// }
//
// public void setReqTime(String reqTime) {
// this.reqTime = reqTime;
// }
//
// public String getFactory() {
// return factory;
// }
//
// public void setFactory(String factory) {
// this.factory = factory;
// }
//
// public String getBufferType() {
// return bufferType;
// }
//
// public void setBufferType(String bufferType) {
// this.bufferType = bufferType;
// }
// }
}

@ -1,5 +1,6 @@
package com.op.mes.service.impl;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
@ -230,7 +231,7 @@ public class MesReportWorkConsumeServiceImpl implements IMesReportWorkConsumeSer
srwork.setQuantity(mesReportWork.getQuantitys());
srwork.setQuantityFeedback(mesReportWork.getQuantityFeedbacks());
srwork.setUseMan(mesReportWork.getUseMans());
srwork.setWorkTime(mesReportWork.getWorkTimes());
srwork.setWorkTime(new BigDecimal(mesReportWork.getWorkTimes()));
srwork.setUseMan(mesReportWork.getUseMans());
srwork.setProdType("prod");
rworks.add(srwork);

@ -176,6 +176,14 @@ public class MesReportWorkServiceImpl implements IMesReportWorkService {
return dtos;
}
@Override
@DS("#header.poolName")
public int reportSapCancel(MesReportWork mesReportWork) {
mesReportWork.setFactoryCode(ServletUtils.getRequest().getHeader("PoolName"));
int m = mesReportWorkMapper.reportSapCancel(mesReportWork);
return m;
}
/**
*
*

@ -813,8 +813,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
id = #{item.id}
</foreach>
</update>
<update id="reportSapCancel">
update mes_report_work set
upload_time = null,
upload_status = '0',
upload_msg = null
where workorder_code = #{workorderCode}
</update>
<delete id="deleteMesReportWorkById" parameterType="String">
<delete id="deleteMesReportWorkById" parameterType="String">
update mes_report_work set del_flag = '1' where id = #{id}
</delete>

@ -108,7 +108,7 @@ public class OpenController extends BaseController {
}
//添加检测任务
return success(openService.insertQcCheckTaskProduce(qcCheckTaskProduce));
return toAjax(openService.insertQcCheckTaskProduce(qcCheckTaskProduce));
}
/**===============ZL0010- :"workflowId": 26235=============

@ -368,6 +368,7 @@ public class OpenServiceImpl implements OpenService {
/**qc_material_group_detail**/
QcMaterialGroupDetailDTO group = openMapper.getGroupByMaterial(qcCheckTaskProduce.getMaterialCode());
if (group == null) {
logger.info(qcCheckTaskProduce.getMaterialCode()+"没有维护物料组检测项,检验任务生成失败");
return 0;//没有找到检测项目
}
qctp.setGroupId(group.getGroupId());//共性

@ -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<QcCheckReportIncome> 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<QcCheckReportIncome> list = qcCheckReportInventoryService.selectQcCheckReportIncomeList(qcCheckReportIncome);
ExcelUtil<QcCheckReportIncome> util = new ExcelUtil<QcCheckReportIncome>(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<QcBomComponent> list = qcCheckReportInventoryService.getQcListBom(bomComponent);
return getDataTable(list);
}
/**
*
*/
@GetMapping("/getQcListSupplier")
public TableDataInfo getQcListSupplier(QcSupplier qcSupplier) {
startPage();
List<QcSupplier> list = qcCheckReportInventoryService.getQcListSupplier(qcSupplier);
return getDataTable(list);
}
/**
*
*/
@GetMapping("/getQcListUser")
public TableDataInfo getQcListUser(SysUser sysUser) {
startPage();
List<SysUser> 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<QcCheckTaskDetail> list = qcCheckReportInventoryService.getCkeckProjectList(qcCheckTaskDetail);
return getDataTable(list);
}
}

@ -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<QcCheckTaskInventory> 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<QcCheckTaskInventory> list = qcCheckTaskInventoryService.selectQcCheckTaskInventoryList(qcCheckTaskInventory);
ExcelUtil<QcCheckTaskInventory> util = new ExcelUtil<QcCheckTaskInventory>(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));
}
}

@ -6,6 +6,7 @@ import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.op.common.core.utils.DateUtils;
import com.op.common.core.utils.bean.BeanUtils;
import com.op.quality.domain.QcCheckTaskIncome;
@ -101,10 +102,8 @@ public class QcCheckTaskWarehousingController extends BaseController {
@RequiresPermissions("quality:qcWarehousing:add")
@Log(title = "成品入库检验任务", businessType = BusinessType.INSERT)
@PostMapping
@DS("#header.poolName")
public AjaxResult add(@RequestBody QcCheckTaskWarehousing qcCheckTaskWarehousing) {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String key = "#header.poolName";
qcCheckTaskWarehousing.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_",""));
int r = qcCheckTaskWarehousingService.insertQcCheckTaskWarehousing(qcCheckTaskWarehousing);
if(r>0){
return toAjax(r);

@ -46,15 +46,15 @@ public class QcCheckUnqualifiedController extends BaseController {
public TableDataInfo list(QcCheckUnqualified qcCheckUnqualified) {
startPage();
//默认时间范围T 00:00:00~T+1 00:00:00
if(StringUtils.isEmpty(qcCheckUnqualified.getCheckTimeStart())){
qcCheckUnqualified.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)+" 00:00:00";
qcCheckUnqualified.setCheckTimeEnd(dateEndStr);//end
}
// //默认时间范围T 00:00:00~T+1 00:00:00
// if(StringUtils.isEmpty(qcCheckUnqualified.getCheckTimeStart())){
// qcCheckUnqualified.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)+" 00:00:00";
// qcCheckUnqualified.setCheckTimeEnd(dateEndStr);//end
// }
qcCheckUnqualified.setDelFlag("0");
List<QcCheckUnqualified> list = qcCheckUnqualifiedService.selectQcCheckUnqualifiedList(qcCheckUnqualified);
return getDataTable(list);
@ -67,15 +67,15 @@ public class QcCheckUnqualifiedController extends BaseController {
@Log(title = "不合格处理", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, QcCheckUnqualified qcCheckUnqualified) {
//默认时间范围T 00:00:00~T+1 00:00:00
if(StringUtils.isEmpty(qcCheckUnqualified.getCheckTimeStart())){
qcCheckUnqualified.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)+" 00:00:00";
qcCheckUnqualified.setCheckTimeEnd(dateEndStr);//end
}
// //默认时间范围T 00:00:00~T+1 00:00:00
// if(StringUtils.isEmpty(qcCheckUnqualified.getCheckTimeStart())){
// qcCheckUnqualified.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)+" 00:00:00";
// qcCheckUnqualified.setCheckTimeEnd(dateEndStr);//end
// }
qcCheckUnqualified.setDelFlag("0");
List<QcCheckUnqualified> list = qcCheckUnqualifiedService.selectQcCheckUnqualifiedList(qcCheckUnqualified);
ExcelUtil<QcCheckUnqualified> util = new ExcelUtil<QcCheckUnqualified>(QcCheckUnqualified.class);
@ -102,10 +102,10 @@ public class QcCheckUnqualifiedController extends BaseController {
}
/**
*
* OA
*/
@RequiresPermissions("quality:unqualified:edit")
@Log(title = "不合格处理", businessType = BusinessType.UPDATE)
@Log(title = "不合格处理发起OA流程", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody QcCheckUnqualified qcCheckUnqualified) {
return toAjax(qcCheckUnqualifiedService.updateQcCheckUnqualified(qcCheckUnqualified));

@ -41,7 +41,6 @@ public class QcMaterialGroupDetailController extends BaseController {
@RequiresPermissions("quality:materialGroupDetail:list")
@GetMapping("/list")
public TableDataInfo list(QcMaterialGroupDetail qcMaterialGroupDetail) {
startPage();
List<QcMaterialGroupDetail> list = qcMaterialGroupDetailService.selectQcMaterialGroupDetailList(qcMaterialGroupDetail);
return getDataTable(list);
}

@ -0,0 +1,465 @@
package com.op.quality.domain;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
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;
private List<QcCheckTaskDefect> defects;
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 BigDecimal getNoOkQuality() {
return noOkQuality;
}
public void setNoOkQuality(BigDecimal noOkQuality) {
this.noOkQuality = 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;
}
public List<QcCheckTaskDefect> getDefects() {
return defects;
}
public void setDefects(List<QcCheckTaskDefect> defects) {
this.defects = defects;
}
@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();
}
}

@ -90,6 +90,51 @@ public class QcCheckUnqualified extends BaseEntity {
private String typeCode;
private String sampleQuality;
private String noOkQuality;
private String startManCode;
private String startManName;
private Date startTime;
private String startOaStatus;
private String startOaMsg;
public String getStartOaMsg() {
return startOaMsg;
}
public void setStartOaMsg(String startOaMsg) {
this.startOaMsg = startOaMsg;
}
public String getStartOaStatus() {
return startOaStatus;
}
public void setStartOaStatus(String startOaStatus) {
this.startOaStatus = startOaStatus;
}
public Date getStartTime() {
return startTime;
}
public void setStartTime(Date startTime) {
this.startTime = startTime;
}
public String getStartManCode() {
return startManCode;
}
public void setStartManCode(String startManCode) {
this.startManCode = startManCode;
}
public String getStartManName() {
return startManName;
}
public void setStartManName(String startManName) {
this.startManName = startManName;
}
public String getSampleQuality() {
return sampleQuality;

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

@ -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<QcCheckReportIncome> 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<QcBomComponent> getQcListBom(QcBomComponent bomComponent);
public List<QcSupplier> getQcListSupplier(QcSupplier qcSupplier);
public List<SysUser> getQcListUser(SysUser sysUser);
int updateIncomeStatus(QcCheckReportIncome qcCheckReportIncome);
List<QcCheckTaskDetail> getCkeckProjectList(QcCheckTaskDetail qcCheckTaskDetail);
public List<QcCheckReportIncome> getPrintData(QcCheckReportIncome qcCheckReportIncome);
}

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

@ -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<QcCheckReportIncome> 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<QcCheckTaskDetail> 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<QcBomComponent> getQcListBom(QcBomComponent bomComponent) {
return qcCheckReportIncomeMapper.getQcListBom(bomComponent);
}
@Override
@DS("#header.poolName")
public List<QcSupplier> getQcListSupplier(QcSupplier qcSupplier) {
return qcCheckReportIncomeMapper.getQcListSupplier(qcSupplier);
}
@Override
@DS("master")
public List<SysUser> 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<QcCheckTaskDetail> getCkeckProjectList(QcCheckTaskDetail qcCheckTaskDetail) {
return qcCheckReportIncomeMapper.getCkeckProjectList(qcCheckTaskDetail);
}
@Override
@DS("#header.poolName")
public List<QcCheckReportIncome> getPrintData(QcCheckReportIncome qcCheckReportIncome) {
return null;
}
}

@ -58,6 +58,9 @@ public class QcCheckTaskIncomeServiceImpl implements IQcCheckTaskIncomeService {
@Autowired
private QcCheckTaskWarehousingMapper qcCheckTaskWarehousingMapper;
@Autowired
private QcCheckTaskInventoryMapper qcCheckTaskInventoryMapper;
@Autowired
private QcCheckUnqualifiedMapper qcCheckUnqualifiedMapper;
@ -79,7 +82,16 @@ public class QcCheckTaskIncomeServiceImpl implements IQcCheckTaskIncomeService {
@Override
@DS("#header.poolName")
public QcCheckTaskIncome selectQcCheckTaskIncomeByRecordId(String recordId) {
return qcCheckTaskIncomeMapper.selectQcCheckTaskIncomeByRecordId(recordId);
QcCheckTaskIncome qcCheckTaskIncome = qcCheckTaskIncomeMapper.selectQcCheckTaskIncomeByRecordId(recordId);
//获取拼接好的检验人员信息
QcCheckTaskUser qcCheckTaskUser = qcCheckTaskUserService.selectQcCheckTaskUserByBelongTo(recordId);
if (qcCheckTaskUser != null && StringUtils.isNotBlank(qcCheckTaskUser.getManNames())) {
qcCheckTaskIncome.setCheckManName(qcCheckTaskUser.getManNames());
}
if (qcCheckTaskUser != null && StringUtils.isNotBlank(qcCheckTaskUser.getManCodes())) {
qcCheckTaskIncome.setCheckManCode(qcCheckTaskUser.getManCodes());
}
return qcCheckTaskIncome;
}
/**
@ -128,7 +140,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 +388,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());

@ -0,0 +1,289 @@
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.IQcCheckTaskDefectService;
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;
@Autowired
private IQcCheckTaskDefectService qcCheckTaskDefectService;
/**
*
*
* @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());
}
//获取不良品检验信息
List<QcCheckTaskDefect> qcCheckTaskDefectList = qcCheckTaskDefectService.selectDefectByBelongTo(recordId);
if (!CollectionUtils.isEmpty(qcCheckTaskDefectList)) {
qcCheckTaskInventory.setDefects(qcCheckTaskDefectList);
}
return qcCheckTaskInventory;
}
/**
*
*
* @param qcCheckTaskInventory
* @return
*/
@Override
@DS("#header.poolName")
public List<QcCheckTaskInventory> 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<QcCheckTaskDetail> 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<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(qcCheckTaskInventory.getCheckNo());
qcCheckTaskUser.setBelongTo(beLongId);
qcCheckTaskUserList.add(qcCheckTaskUser);
}
//检验人插入
qcCheckTaskUserService.insertQcCheckTaskUserList(qcCheckTaskUserList);
}else{//上位机
qcCheckTaskInventory.setCheckManName("");
qcCheckTaskInventory.setCheckManCode("");
/**qc_user_material取默认检查人**/
List<QcUserMaterialDTO> 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+"成功");
}
}
/** 不良品数据插入 */
BigDecimal noOkQuality = new BigDecimal(0);
List<QcCheckTaskDefect> defectList = qcCheckTaskInventory.getDefects();
if (!CollectionUtils.isEmpty(defectList)) {
for (QcCheckTaskDefect defect : defectList) {
defect.setBelongTo(beLongId);
qcCheckTaskDefectService.insertQcCheckTaskDefect(defect);
noOkQuality = noOkQuality.add(defect.getNoOkQuality()==null?new BigDecimal("0"):defect.getNoOkQuality());
}
}
qcCheckTaskInventory.setNoOkQuality(noOkQuality);
/**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<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(qcCheckTaskInventory.getCheckNo());
qcCheckTaskUser.setBelongTo(qcCheckTaskInventory.getRecordId());
qcCheckTaskUserList.add(qcCheckTaskUser);
}
qcCheckTaskUserService.updateQcCheckTaskUser(qcCheckTaskUserList);
/** 不良品数据修改 **/
BigDecimal noOkQuality = new BigDecimal(0);
List<QcCheckTaskDefect> defectList = qcCheckTaskInventory.getDefects();
String belongTo = qcCheckTaskInventory.getRecordId();
//不是空执行下一步,空不做操作
if (!CollectionUtils.isEmpty(defectList)) {
qcCheckTaskDefectService.deleteQcCheckTaskDefectByBelongTo(belongTo);
for (QcCheckTaskDefect defect : defectList) {
defect.setBelongTo(belongTo);
qcCheckTaskDefectService.insertQcCheckTaskDefect(defect);
noOkQuality = noOkQuality.add(defect.getNoOkQuality()==null?new BigDecimal("0"):defect.getNoOkQuality());
}
}
qcCheckTaskInventory.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);
}
}

@ -62,7 +62,16 @@ public class QcCheckTaskWarehousingServiceImpl implements IQcCheckTaskWarehousin
@Override
@DS("#header.poolName")
public QcCheckTaskWarehousing selectQcCheckTaskWarehousingByRecordId(String recordId) {
return qcCheckTaskWarehousingMapper.selectQcCheckTaskWarehousingByRecordId(recordId);
QcCheckTaskWarehousing checkTaskWarehousing = qcCheckTaskWarehousingMapper.selectQcCheckTaskWarehousingByRecordId(recordId);
//获取拼接好的检验人员信息
QcCheckTaskUser qcCheckTaskUser = qcCheckTaskUserService.selectQcCheckTaskUserByBelongTo(recordId);
if (qcCheckTaskUser != null && StringUtils.isNotBlank(qcCheckTaskUser.getManNames())) {
checkTaskWarehousing.setCheckManName(qcCheckTaskUser.getManNames());
}
if (qcCheckTaskUser != null && StringUtils.isNotBlank(qcCheckTaskUser.getManCodes())) {
checkTaskWarehousing.setCheckManCode(qcCheckTaskUser.getManCodes());
}
return checkTaskWarehousing;
}
/**
@ -86,10 +95,15 @@ public class QcCheckTaskWarehousingServiceImpl implements IQcCheckTaskWarehousin
* @return
*/
@Override
@Transactional(rollbackFor = Exception.class)
public int insertQcCheckTaskWarehousing(QcCheckTaskWarehousing qcCheckTaskWarehousing) {
if(StringUtils.isNotBlank(qcCheckTaskWarehousing.getFactoryCode())){
DynamicDataSourceContextHolder.push("ds_"+qcCheckTaskWarehousing.getFactoryCode());
}else{
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String key = "#header.poolName";
qcCheckTaskWarehousing.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_",""));
}
String bpDD = DateUtils.parseDateToStr(DateUtils.YYYYMMDD, DateUtils.getNowDate());
@ -145,6 +159,7 @@ public class QcCheckTaskWarehousingServiceImpl implements IQcCheckTaskWarehousin
qcCheckTaskUser.setCheckManCode(splitCodes[i]);
qcCheckTaskUser.setCheckNo(qcCheckTaskWarehousing.getCheckNo());
qcCheckTaskUser.setBelongTo(beLongId);
qcCheckTaskUser.setFactoryCode(factoryCode);
qcCheckTaskUserList.add(qcCheckTaskUser);
}
//检验人插入

@ -1,9 +1,21 @@
package com.op.quality.service.impl;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.dynamic.datasource.annotation.DS;
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.quality.domain.QcCheckProject;
import com.op.quality.domain.QcCheckTaskIncome;
import com.op.quality.mapper.QcCheckTaskIncomeMapper;
import com.op.system.api.RemoteOpenService;
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.QcCheckUnqualifiedMapper;
@ -18,9 +30,16 @@ import com.op.quality.service.IQcCheckUnqualifiedService;
*/
@Service
public class QcCheckUnqualifiedServiceImpl implements IQcCheckUnqualifiedService {
protected Logger logger = LoggerFactory.getLogger(getClass());
@Autowired
private QcCheckUnqualifiedMapper qcCheckUnqualifiedMapper;
@Autowired
private QcCheckTaskIncomeMapper qcCheckTaskIncomeMapper;
@Autowired
private RemoteOpenService remoteOpenService;
/**
*
*
@ -67,8 +86,40 @@ public class QcCheckUnqualifiedServiceImpl implements IQcCheckUnqualifiedService
@Override
@DS("#header.poolName")
public int updateQcCheckUnqualified(QcCheckUnqualified qcCheckUnqualified) {
qcCheckUnqualified.setUpdateTime(DateUtils.getNowDate());
return qcCheckUnqualifiedMapper.updateQcCheckUnqualified(qcCheckUnqualified);
Date nowTime = DateUtils.getNowDate();
qcCheckUnqualified.setUpdateTime(nowTime);
qcCheckUnqualified.setStartManCode(SecurityUtils.getUsername());
qcCheckUnqualified.setStartTime(nowTime);
//发起来料检验OA流程
AjaxResult oaR = new AjaxResult();
QcCheckUnqualified taskIfo = qcCheckUnqualifiedMapper.selectQcCheckUnqualifiedById(qcCheckUnqualified.getId());
taskIfo.setRemark(qcCheckUnqualified.getRemark());
if("material".equals(taskIfo.getTypeCode())) {
//ZL0010-来料检验不合格控制流程
oaR = this.createLLOA(taskIfo);
}else if("produce".equals(taskIfo.getTypeCode())){
//ZL0030-品质异常流程
}else if("product".equals(taskIfo.getTypeCode())) {
//ZL0020-成品检验控制流程
oaR = this.createProductOA(taskIfo);
}
if(oaR!=null ){
if((oaR.get("code").toString()).equals("200")){
/**qc_check_unqualified**/
qcCheckUnqualified.setRequestid(oaR.get("data").toString());
qcCheckUnqualified.setStartOaStatus("1");
int m = qcCheckUnqualifiedMapper.updateQcCheckUnqualified(qcCheckUnqualified);
return m;
}else{
qcCheckUnqualified.setStartOaStatus("2");
qcCheckUnqualified.setStartOaMsg(oaR.get("msg").toString());
qcCheckUnqualifiedMapper.updateQcCheckUnqualified(qcCheckUnqualified);
return 0;
}
}
return 0;
}
/**
@ -94,4 +145,97 @@ public class QcCheckUnqualifiedServiceImpl implements IQcCheckUnqualifiedService
public int deleteQcCheckUnqualifiedById(String id) {
return qcCheckUnqualifiedMapper.deleteQcCheckUnqualifiedById(id);
}
/*OA
* CQ OEMCM LLLB 01MATNR MAKTX suppliernum
* supplier CHARG comeQty testDate JYBH
* BJY OEMWLLY ZCF ZCOEMCM OEM
* memo PZGLBZG QC
*/
private AjaxResult createLLOA(QcCheckUnqualified task){
QcCheckTaskIncome detailInfo = qcCheckTaskIncomeMapper.getTaskInfo(task.getTaskId());
//发起来料检验OA流程
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("user",SecurityUtils.getUsername());//提交人工号
paramMap.put("requestLevel",0);//流程紧急度
paramMap.put("requestName","ZL0010-来料检验不合格控制流程");//流程名称
paramMap.put("workflowId",26235);//该流程对应的唯- workFlowld
StringBuffer mainObject = new StringBuffer();
mainObject.append("{");
mainObject.append("\"CQ\":"+detailInfo.getFactoryCode());//厂区
mainObject.append(",\"LLLB\":"+0);//来料类别【0、1】
mainObject.append(",\"MATNR\":"+"\""+detailInfo.getMaterialCode()+"\"");//物料编码
mainObject.append(",\"MAKTX\":"+"\""+detailInfo.getMaterialName()+"\"");//物料名称
mainObject.append(",\"suppliernum\":"+"\""+detailInfo.getSupplierCode()+"\"");//供应商编码
mainObject.append(",\"supplier\":"+"\""+detailInfo.getSupplierName()+"\"");//供应商名称
mainObject.append(",\"CHARG\":"+"\""+detailInfo.getIncomeBatchNo()+"\"");//生产批号
mainObject.append(",\"comeQty\":"+"\""+detailInfo.getQuality()+"\"");//来料数量
mainObject.append(",\"memo\":"+"\""+task.getRemark()+"\"");//不合格情况描述
mainObject.append("}");
paramMap.put("mainObject",mainObject.toString());
logger.info("流程Id 26235:"+ JSONObject.toJSONString(paramMap));
AjaxResult oaR = remoteOpenService.OAInspection(paramMap);
logger.info("流程Id 26235:"+ JSONObject.toJSONString(oaR));
return oaR;
}
/*OA
* ZL0020-:"workflowId": 26234
*
* ---------------
* PGBCJ /SSCJ /ZRPSN/GJZ/SCLX/OEM OEM/DH /DW/MEMO01 /
* MEMO03 /SFXZG QC/PGZG QC
* PGZRJL
* -------------
* {"colNames":"PROCODE,PRONAME,SCCODE......","details":[{"PROCODE":"","PRONAME":"",.....},{},{},.....]}
* PROCODE PRONAME SCCODE SCTOTAL
* BJDATE JYCODE JYDATE JYRESULT0 2
* PROCODEBAK BZ CPCYS PCJYBHGMS */
private AjaxResult createProductOA(QcCheckUnqualified task){
QcCheckTaskIncome detailInfo = qcCheckTaskIncomeMapper.getTaskInfo(task.getTaskId());
//发起来料检验OA流程
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("user","999999");//提交人工号qcCheckTaskIncome.getUpdateBy()
paramMap.put("requestLevel",0);//流程紧急度
paramMap.put("requestName","ZL0020-成品检验控制流程");//流程名称
paramMap.put("workflowId",26234);//该流程对应的唯- workFlowld
StringBuffer mainObject = new StringBuffer();
mainObject.append("{");
mainObject.append("\"SSCJ\":"+detailInfo.getSupplierName());//所属车间
mainObject.append(",\"ZRPSN\":"+"\""+SecurityUtils.getUsername()+"\"");//报检人
mainObject.append(",\"OEM\":"+"\""+detailInfo.getFactoryCode()+"\"");//OEM厂名
mainObject.append(",\"DH\":"+"\""+detailInfo.getOrderNo()+"\"");//单号
mainObject.append(",\"MEMO01\":"+"\""+task.getRemark()+"\"");//不合格情况描述
mainObject.append("}");
paramMap.put("mainObject",mainObject.toString());
StringBuffer detailObject = new StringBuffer();
detailObject.append("{");
detailObject.append("\"colNames\":\"PROCODE,PRONAME,SCCODE,SCTOTAL,BJDATE,JYCODE,JYDATE,JYRESULT,CPCYS,JYBHGMS\"");
detailObject.append(",\"details\":[");
detailObject.append("{\"PROCODE\":\""+detailInfo.getMaterialCode()+"\"},");//产品编码
detailObject.append("{\"PRONAME\":\""+detailInfo.getMaterialName()+"\"},");//产品名称
detailObject.append("{\"SCCODE\":\""+detailInfo.getIncomeBatchNo()+"\"},");//批次号
detailObject.append("{\"SCTOTAL\":\""+detailInfo.getQuality()+"\"},");//数量
detailObject.append("{\"BJDATE\":\""+detailInfo.getCreateTime()+"\"},");//报检日期
detailObject.append("{\"JYCODE\":\""+detailInfo.getCheckNo()+"\"},");// 检验编号
detailObject.append("{\"JYDATE\":\""+detailInfo.getCheckTime()+"\"},");// 检验日期
detailObject.append("{\"JYRESULT\":\""+(detailInfo.getCheckResult().equals("Y")?"0":"2")+"\"},");//检验结果0合格 2不合格
detailObject.append("{\"CPCYS\":\""+detailInfo.getQuality()+"\"},");// 产品抽样数PC
detailObject.append("{\"JYBHGMS\":\""+task.getRemark()+"\"}");// 不合格情况描述
detailObject.append("]}");
paramMap.put("mainObject",detailObject.toString());
logger.info("流程Id 26234:"+ JSONObject.toJSONString(paramMap));
AjaxResult oaR = remoteOpenService.OAInspection(paramMap);
logger.info("流程Id 26234:"+ JSONObject.toJSONString(oaR));
return oaR;
}
}

@ -350,21 +350,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
qct.supplier_name supplierName,
qct.income_batch_no incomeBatchNo,
qct.quality,
t.remark
qct.factory_code factoryCode,
case when pow.workorder_code_sap is not null then pow.workorder_code_sap
else qct.order_no end orderNo,
qct.create_time createTime,
qct.check_no checkNo,
qct.check_time checkTime,
qct.check_result checkResult
from qc_check_task qct
left join(
SELECT
belong_to,
STUFF(
(SELECT ';' + rule_name+':'+actual_value
FROM qc_check_task_detail
WHERE belong_to = qctd.belong_to
FOR xml path('')
),1,1,''
) remark
FROM qc_check_task_detail qctd where qctd.del_flag = '0' and belong_to=#{recordId}
GROUP by qctd.belong_to
) t on qct.record_id = t.belong_to
left join pro_order_workorder pow on pow.workorder_code = qct.order_no
where qct.record_id = #{recordId}
</select>

@ -0,0 +1,233 @@
<?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.QcCheckTaskInventoryMapper">
<resultMap type="QcCheckTaskInventory" id="QcCheckTaskInventoryResult">
<result property="recordId" column="record_id" />
<result property="checkNo" column="check_no" />
<result property="incomeBatchNo" column="income_batch_no" />
<result property="orderNo" column="order_no" />
<result property="materialCode" column="material_code" />
<result property="materialName" column="material_name" />
<result property="quality" column="quality" />
<result property="unit" column="unit" />
<result property="supplierCode" column="supplier_code" />
<result property="supplierName" column="supplier_name" />
<result property="incomeTime" column="income_time" />
<result property="checkLoc" column="check_loc" />
<result property="checkStatus" column="check_status" />
<result property="checkManCode" column="check_man_code" />
<result property="checkManName" column="check_man_name" />
<result property="checkTime" column="check_time" />
<result property="checkResult" column="check_result" />
<result property="status" column="status" />
<result property="attr1" column="attr1" />
<result property="attr2" column="attr2" />
<result property="attr3" column="attr3" />
<result property="attr4" column="attr4" />
<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="factoryCode" column="factory_code" />
<result property="delFlag" column="del_flag" />
<result property="checkType" column="check_type" />
<result property="noOkQuality" column="noOk_quality" />
<result property="sampleQuality" column="sample_quality" />
<result property="aNoOkquality" column="aNoOkquality" />
<result property="bNoOkquality" column="bNoOkquality" />
<result property="cNoOkquality" column="cNoOkquality" />
<result property="typeCode" column="type_code" />
<result property="orderType" column="order_type" />
</resultMap>
<sql id="selectQcCheckTaskInventoryVo">
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
</sql>
<select id="selectQcCheckTaskInventoryList" parameterType="QcCheckTaskInventory" resultMap="QcCheckTaskInventoryResult">
select qct.record_id, qct.check_no, qct.income_batch_no,
qct.order_no, qct.material_code, qct.material_name, qct.quality, qct.unit,
qct.supplier_code, qct.supplier_name, qct.income_time, qct.check_loc, qct.check_status,
qct.check_man_code, qct.check_man_name,qct.check_time, qct.check_result, qct.status,
qct.create_by,qct.create_time, qct.update_by, qct.update_time,
qct.check_type,qct.sample_quality,qct.noOk_quality,
q.type_code
from qc_check_task qct
left join qc_check_type q on q.id = qct.check_type
<where>
<if test="checkNo != null and checkNo != ''"> and qct.check_no = #{checkNo}</if>
<if test="incomeBatchNo != null and incomeBatchNo != ''"> and qct.income_batch_no = #{incomeBatchNo}</if>
<if test="orderNo != null and orderNo != ''"> and qct.order_no = #{orderNo}</if>
<if test="materialCode != null and materialCode != ''"> and qct.material_code = #{materialCode}</if>
<if test="materialName != null and materialName != ''"> and qct.material_name like concat('%', #{materialName}, '%')</if>
<if test="supplierCode != null and supplierCode != ''"> and qct.supplier_code = #{supplierCode}</if>
<if test="supplierName != null and supplierName != ''"> and qct.supplier_name like concat('%', #{supplierName}, '%')</if>
<if test="incomeTime != null "> and qct.income_time = #{incomeTime}</if>
<if test="checkLoc != null and checkLoc != ''"> and qct.check_loc = #{checkLoc}</if>
<if test="checkStatus != null and checkStatus != ''"> and qct.check_status = #{checkStatus}</if>
<if test="checkManCode != null and checkManCode != ''"> and qct.check_man_code = #{checkManCode}</if>
<if test="checkManName != null and checkManName != ''"> and qct.check_man_name like concat('%', #{checkManName}, '%')</if>
<if test="checkResult != null and checkResult != ''"> and qct.check_result = #{checkResult}</if>
<if test="status != null and status != ''"> and qct.status = #{status}</if>
<if test="delFlag != null and delFlag != ''"> and qct.del_flag = #{delFlag}</if>
<if test="factoryCode != null and factoryCode != ''"> and qct.factory_code = #{factoryCode}</if>
<if test="incomeTimeStart != null "> and CONVERT(varchar(30),qct.income_time, 120) >= #{incomeTimeStart}</if>
<if test="incomeTimeEnd != null "> and #{incomeTimeEnd} > CONVERT(varchar(30),qct.income_time, 120)</if>
<if test="checkTimeStart != null "> and CONVERT(varchar(30),qct.check_time, 120) >= #{checkTimeStart}</if>
<if test="checkTimeEnd != null "> and #{checkTimeEnd} > CONVERT(varchar(30),qct.check_time, 120)</if>
<if test="checkType != null "> and qct.check_type = #{checkType} </if>
<if test="typeCode != null "> and q.type_code = #{typeCode} </if>
</where>
</select>
<select id="selectQcCheckTaskInventoryByRecordId" parameterType="String" resultMap="QcCheckTaskInventoryResult">
<include refid="selectQcCheckTaskInventoryVo"/>
where record_id = #{recordId}
</select>
<insert id="insertQcCheckTaskInventory" parameterType="QcCheckTaskInventory">
insert into qc_check_task
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="recordId != null">record_id,</if>
<if test="checkNo != null">check_no,</if>
<if test="incomeBatchNo != null">income_batch_no,</if>
<if test="orderNo != null">order_no,</if>
<if test="materialCode != null">material_code,</if>
<if test="materialName != null">material_name,</if>
<if test="quality != null">quality,</if>
<if test="unit != null">unit,</if>
<if test="supplierCode != null">supplier_code,</if>
<if test="supplierName != null">supplier_name,</if>
<if test="incomeTime != null">income_time,</if>
<if test="checkLoc != null">check_loc,</if>
<if test="checkStatus != null">check_status,</if>
<if test="checkManCode != null">check_man_code,</if>
<if test="checkManName != null">check_man_name,</if>
<if test="checkTime != null">check_time,</if>
<if test="checkResult != null">check_result,</if>
<if test="status != null">status,</if>
<if test="attr1 != null">attr1,</if>
<if test="attr2 != null">attr2,</if>
<if test="attr3 != null">attr3,</if>
<if test="attr4 != null">attr4,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="factoryCode != null and factoryCode != ''">factory_code,</if>
<if test="delFlag != null">del_flag,</if>
<if test="checkType != null">check_type,</if>
<if test="noOkQuality != null">noOk_quality,</if>
<if test="sampleQuality != null">sample_quality,</if>
<if test="aNoOkquality != null">aNoOkquality,</if>
<if test="bNoOkquality != null">bNoOkquality,</if>
<if test="cNoOkquality != null">cNoOkquality,</if>
<if test="typeCode != null">type_code,</if>
<if test="orderType != null">order_type,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="recordId != null">#{recordId},</if>
<if test="checkNo != null">#{checkNo},</if>
<if test="incomeBatchNo != null">#{incomeBatchNo},</if>
<if test="orderNo != null">#{orderNo},</if>
<if test="materialCode != null">#{materialCode},</if>
<if test="materialName != null">#{materialName},</if>
<if test="quality != null">#{quality},</if>
<if test="unit != null">#{unit},</if>
<if test="supplierCode != null">#{supplierCode},</if>
<if test="supplierName != null">#{supplierName},</if>
<if test="incomeTime != null">#{incomeTime},</if>
<if test="checkLoc != null">#{checkLoc},</if>
<if test="checkStatus != null">#{checkStatus},</if>
<if test="checkManCode != null">#{checkManCode},</if>
<if test="checkManName != null">#{checkManName},</if>
<if test="checkTime != null">#{checkTime},</if>
<if test="checkResult != null">#{checkResult},</if>
<if test="status != null">#{status},</if>
<if test="attr1 != null">#{attr1},</if>
<if test="attr2 != null">#{attr2},</if>
<if test="attr3 != null">#{attr3},</if>
<if test="attr4 != null">#{attr4},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="factoryCode != null and factoryCode != ''">#{factoryCode},</if>
<if test="delFlag != null">#{delFlag},</if>
<if test="checkType != null">#{checkType},</if>
<if test="noOkQuality != null">#{noOkQuality},</if>
<if test="sampleQuality != null">#{sampleQuality},</if>
<if test="aNoOkquality != null">#{aNoOkquality},</if>
<if test="bNoOkquality != null">#{bNoOkquality},</if>
<if test="cNoOkquality != null">#{cNoOkquality},</if>
<if test="typeCode != null">#{typeCode},</if>
<if test="orderType != null">#{orderType},</if>
</trim>
</insert>
<update id="updateQcCheckTaskInventory" parameterType="QcCheckTaskInventory">
update qc_check_task
<trim prefix="SET" suffixOverrides=",">
<if test="checkNo != null">check_no = #{checkNo},</if>
<if test="incomeBatchNo != null">income_batch_no = #{incomeBatchNo},</if>
<if test="orderNo != null">order_no = #{orderNo},</if>
<if test="materialCode != null">material_code = #{materialCode},</if>
<if test="materialName != null">material_name = #{materialName},</if>
<if test="quality != null">quality = #{quality},</if>
<if test="unit != null">unit = #{unit},</if>
<if test="supplierCode != null">supplier_code = #{supplierCode},</if>
<if test="supplierName != null">supplier_name = #{supplierName},</if>
<if test="incomeTime != null">income_time = #{incomeTime},</if>
<if test="checkLoc != null">check_loc = #{checkLoc},</if>
<if test="checkStatus != null">check_status = #{checkStatus},</if>
<if test="checkManCode != null">check_man_code = #{checkManCode},</if>
<if test="checkManName != null">check_man_name = #{checkManName},</if>
<if test="checkTime != null">check_time = #{checkTime},</if>
<if test="checkResult != null">check_result = #{checkResult},</if>
<if test="status != null">status = #{status},</if>
<if test="attr1 != null">attr1 = #{attr1},</if>
<if test="attr2 != null">attr2 = #{attr2},</if>
<if test="attr3 != null">attr3 = #{attr3},</if>
<if test="attr4 != null">attr4 = #{attr4},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="factoryCode != null and factoryCode != ''">factory_code = #{factoryCode},</if>
<if test="delFlag != null">del_flag = #{delFlag},</if>
<if test="checkType != null">check_type = #{checkType},</if>
<if test="noOkQuality != null">noOk_quality = #{noOkQuality},</if>
<if test="sampleQuality != null">sample_quality = #{sampleQuality},</if>
<if test="aNoOkquality != null">aNoOkquality = #{aNoOkquality},</if>
<if test="bNoOkquality != null">bNoOkquality = #{bNoOkquality},</if>
<if test="cNoOkquality != null">cNoOkquality = #{cNoOkquality},</if>
<if test="typeCode != null">type_code = #{typeCode},</if>
<if test="orderType != null">order_type = #{orderType},</if>
</trim>
where record_id = #{recordId}
</update>
<delete id="deleteQcCheckTaskInventoryByRecordId" parameterType="String">
delete from qc_check_task where record_id = #{recordId}
</delete>
<delete id="deleteQcCheckTaskInventoryByRecordIds" parameterType="String">
delete from qc_check_task where record_id in
<foreach item="recordId" collection="array" open="(" separator="," close=")">
#{recordId}
</foreach>
</delete>
<select id="getTodayMaxNum" resultType="java.lang.Integer">
select count(0)+1
from qc_check_task
where CONVERT(varchar(10),create_time, 120) = CONVERT(varchar(10),GETDATE(), 120)
</select>
</mapper>

@ -58,10 +58,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectQcCheckUnqualifiedById" parameterType="String" resultType="com.op.quality.domain.QcCheckUnqualified">
select qcu.id,qcu.task_id taskId,qcu.status,qcu.next_node_code nextNodeCode,qcu.next_node_name nextNodeName,qcu.remark,
qcu.create_time createTime,
qct.check_type checkType,qtn.check_name checkName,qct.check_no checkNo,qct.income_batch_no incomeBatchNo,qct.order_no orderNo,
qct.check_type checkType,qtn.check_name checkName,qct.check_no checkNo,qct.income_batch_no incomeBatchNo,
qct.order_no orderNo,
qct.material_code materialCode,qct.material_name materialName,qct.quality,qct.unit,qct.supplier_code supplierCode,
qct.supplier_name supplierName,qct.income_time incomeTime,qct.check_loc checkLoc,qct.check_status checkStatus,qct.check_man_code checkManCode,
qct.check_man_name checkManName,qct.check_time checkTime,qct.check_result checkResult
qct.supplier_name supplierName,qct.income_time incomeTime,qct.check_loc checkLoc,qct.check_status checkStatus,
qct.check_man_code checkManCode,
qct.check_man_name checkManName,qct.check_time checkTime,qct.check_result checkResult,qct.type_code typeCode
from qc_check_unqualified qcu
left join qc_check_task qct on qcu.task_id = qct.record_id
left join qc_check_type qtn on qtn.id = qct.check_type
@ -258,6 +260,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="factoryCode != null and factoryCode != ''">factory_code = #{factoryCode},</if>
<if test="delFlag != null">del_flag = #{delFlag},</if>
<if test="updateBy != null">start_man_code = #{startManCode},</if>
<if test="startTime != null">start_time = #{startTime},</if>
<if test="requestid != null">requestid = #{requestid},</if>
<if test="startOaStatus != null">start_oa_status = #{startOaStatus},</if>
<if test="startOaMsg != null">start_oa_msg = #{startOaMsg},</if>
<if test="startManCode != null">start_man_code = #{startManCode},</if>
<if test="startTime != null">start_time = #{startTime},</if>
</trim>
where id = #{id}
</update>

@ -445,7 +445,7 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
map.put("LGORT",mesReportWork.getWhCode());
map.put("QUANTITY",mesReportWork.getQuantityQualified());
map.put("ERFME",mesReportWork.getUnit());
String batch= mesReportWork.getBatch().substring(13);
String batch= mesReportWork.getBatch().substring(12);
map.put("BATCH",batch);
String formattedsDate = mesReportWork.getProductDate().replace("-", "");
map.put("HSDAT",formattedsDate);
@ -480,7 +480,7 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
map.put("LGORT",mesReportWork.getWhCode());
map.put("QUANTITY",mesReportWork.getQuantityQualified());
map.put("ERFME",mesReportWork.getUnit());
String batch= mesReportWork.getBatch().substring(13);
String batch= mesReportWork.getBatch().substring(12);
map.put("BATCH",batch);
String formattedsDate = mesReportWork.getProductDate().replace("-", "");
map.put("HSDAT",formattedsDate);

Loading…
Cancel
Save