From dd1dca83ec27e411c4470c2454544ee875243c09 Mon Sep 17 00:00:00 2001 From: yinq Date: Fri, 26 Apr 2024 16:09:36 +0800 Subject: [PATCH] =?UTF-8?q?change=20-=20=E5=88=87=E6=8D=A2=E8=AE=A2?= =?UTF-8?q?=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/controller/PdaApiController.java | 34 +++++++ .../aucma/api/mapper/PdaBindingMapper.java | 11 +++ .../api/service/impl/PdaServiceImpl.java | 67 +++++++++++++ .../resources/mapper/PdaBindingMapper.xml | 17 ++++ .../report/domain/RecordExceptionProcess.java | 24 ++--- .../report/domain/RecordSwitchOrder.java | 15 +++ .../mapper/RecordSwitchOrderMapper.java | 13 +++ .../impl/RecordSwitchOrderServiceImpl.java | 75 +++++++++----- .../mapper/report/RecordSwitchOrderMapper.xml | 98 ++++++++++++++----- 9 files changed, 295 insertions(+), 59 deletions(-) diff --git a/aucma-api/src/main/java/com/aucma/api/controller/PdaApiController.java b/aucma-api/src/main/java/com/aucma/api/controller/PdaApiController.java index 2938f30..b2069af 100644 --- a/aucma-api/src/main/java/com/aucma/api/controller/PdaApiController.java +++ b/aucma-api/src/main/java/com/aucma/api/controller/PdaApiController.java @@ -178,6 +178,9 @@ public class PdaApiController { @PostMapping("/submitRepair") public AjaxResult submitRepair(@RequestBody RepairSubmitInfoDto info) { int i = service.submitRepair(info); + if (i == 999){ + return error("该箱体未审批完成,无法降级!"); + } if(i > 0){ return success("操作成功!"); }else { @@ -230,4 +233,35 @@ public class PdaApiController { } return success(result); } + + + /** + * PDA降级消息通知 + * @param userName + * @return + */ + @PostMapping("/messageNotifications") + public AjaxResult messageNotifications(String userName) { + String result = service.messageNotifications(userName); + if (StringUtils.isEmpty(result)){ + return error("无消息提醒!"); + } + return success(result); + } + + /** + * PDA切换订单 + * @param barCode + * @param stationCode + * @return + */ + @PostMapping("/switchOrders") + public AjaxResult switchOrders(String barCode,String stationCode) { + String result = service.switchOrders(barCode, stationCode); + if (StringUtils.isEmpty(result)){ + return error("条码信息输入错误!"); + } + return success(result); + } + } diff --git a/aucma-api/src/main/java/com/aucma/api/mapper/PdaBindingMapper.java b/aucma-api/src/main/java/com/aucma/api/mapper/PdaBindingMapper.java index db30a43..d1071d5 100644 --- a/aucma-api/src/main/java/com/aucma/api/mapper/PdaBindingMapper.java +++ b/aucma-api/src/main/java/com/aucma/api/mapper/PdaBindingMapper.java @@ -61,4 +61,15 @@ public interface PdaBindingMapper { * @return */ List findCheckInfoByCodeUserId(String code); + + List> downgradedProductCardControl(@Param("objId") String objId); + + /** + * PDA降级消息通知 + * @param userName + * @return + */ + List> messageNotifications(@Param("userName") String userName); + + } diff --git a/aucma-api/src/main/java/com/aucma/api/service/impl/PdaServiceImpl.java b/aucma-api/src/main/java/com/aucma/api/service/impl/PdaServiceImpl.java index 49d1bbc..37344b8 100644 --- a/aucma-api/src/main/java/com/aucma/api/service/impl/PdaServiceImpl.java +++ b/aucma-api/src/main/java/com/aucma/api/service/impl/PdaServiceImpl.java @@ -5,7 +5,11 @@ import com.aucma.api.mapper.PdaBindingMapper; import com.aucma.api.service.IPdaBindingService; import com.aucma.common.utils.SecurityUtils; import com.aucma.common.utils.StringUtils; +import com.aucma.report.domain.RecordExceptionProcess; +import com.aucma.report.domain.RecordSwitchOrder; import com.aucma.report.domain.ReportQualityInspection; +import com.aucma.report.service.IRecordExceptionProcessService; +import com.aucma.report.service.IRecordSwitchOrderService; import com.aucma.system.service.ISysPostService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -25,6 +29,12 @@ public class PdaServiceImpl implements IPdaBindingService { @Autowired private ISysPostService postService; + @Autowired + private IRecordExceptionProcessService recordExceptionProcessService; + + @Autowired + private IRecordSwitchOrderService recordSwitchOrderService; + @Override public String selectBoxNameByCode(String boxCode) { @@ -53,6 +63,13 @@ public class PdaServiceImpl implements IPdaBindingService { */ @Override public int submitRepair(RepairSubmitInfoDto info) { + if(StringUtils.isNotEmpty(info.getRepairName()) && info.getRepairName().equals("KA")){ + //降级品卡控 + List> hashMaps = mapper.downgradedProductCardControl(String.valueOf(info.getList().get(0))); + if (hashMaps.size() == 0){ + return 999; + } + } return mapper.submitRepair(info); } @@ -119,4 +136,54 @@ public class PdaServiceImpl implements IPdaBindingService { return result; } + /** + * PDA降级消息通知 + * @param userName + * @return + */ + @Override + public String messageNotifications(String userName) { + List> barcodeList = mapper.messageNotifications(userName); + String resultMessage = null; + StringBuilder boxCode = null; + for (HashMap map : barcodeList) { + String userNames = map.get("INSPECTION_USER_CODE"); + if (userNames.equals("NULL")){ + userNames = userName; + } else { + if (userNames.contains(userName)){ + continue; + } + userNames = userNames + "," + userName; + } + RecordExceptionProcess recordExceptionProcess = new RecordExceptionProcess(); + recordExceptionProcess.setObjId(Long.valueOf(String.valueOf(map.get("OBJ_ID")))); + recordExceptionProcess.setInspectionUserCode(userNames); + recordExceptionProcessService.updateRecordExceptionProcess(recordExceptionProcess); + if (boxCode == null){ + boxCode = new StringBuilder(map.get("BOX_BARCODE")); + } else { + boxCode.append(",").append(map.get("BOX_BARCODE")); + } + resultMessage = "箱体码:" + boxCode + "已审批完成,请进行PDA降级处理!"; + } + return resultMessage; + } + + /** + * PDA切换订单 + * @param barCode + * @param stationCode + * @return + */ + @Override + public String switchOrders(String barCode, String stationCode) { + + RecordSwitchOrder recordSwitchOrder = new RecordSwitchOrder(); + recordSwitchOrder.setMaterialBarcode(barCode); + recordSwitchOrder.setSwitchStationCode(stationCode); + recordSwitchOrderService.insertRecordSwitchOrder(recordSwitchOrder); + return "提交成功!"; + } + } diff --git a/aucma-api/src/main/resources/mapper/PdaBindingMapper.xml b/aucma-api/src/main/resources/mapper/PdaBindingMapper.xml index 0fd4325..0c8ded9 100644 --- a/aucma-api/src/main/resources/mapper/PdaBindingMapper.xml +++ b/aucma-api/src/main/resources/mapper/PdaBindingMapper.xml @@ -89,12 +89,29 @@ where BAR_CODE = #{code} AND TREATMENT_MEASURE = '1' + + + UPDATE CODE_BINDING SET PRODUCT_CODE = NULL, RECORD_TIME2 = NULL WHERE BOX_CODE = #{boxCode} + + + INSERT INTO PRINT_SUPPLEMENTBARCODE diff --git a/aucma-report/src/main/java/com/aucma/report/domain/RecordExceptionProcess.java b/aucma-report/src/main/java/com/aucma/report/domain/RecordExceptionProcess.java index 3986492..0fda1c5 100644 --- a/aucma-report/src/main/java/com/aucma/report/domain/RecordExceptionProcess.java +++ b/aucma-report/src/main/java/com/aucma/report/domain/RecordExceptionProcess.java @@ -51,9 +51,9 @@ public class RecordExceptionProcess extends BaseEntity { private String materialModel; /** - * 流转标识(1=正常流转,2=质管员拒绝,3=生产经理拒绝,4=质量经理拒绝,9=流转完成) + * 流转标识(1=正常流转,2=质管员拒绝,3=生产部经理拒绝,4=质量部经理部拒绝,9=流转完成) */ - @Excel(name = "流转标识", readConverterExp = "1=正常流转,2=质管员拒绝,3=生产经理拒绝,4=质量经理拒绝,9=流转完成") + @Excel(name = "流转标识", readConverterExp = "1=正常流转,2=质管员拒绝,3=生产部经理拒绝,4=质量部经理拒绝,9=流转完成") private String productionUserFlag; /** @@ -101,39 +101,39 @@ public class RecordExceptionProcess extends BaseEntity { private Date qualityUserTime; /** - * 生产经理标识 + * 生产部经理标识 */ - @Excel(name = "生产经理标识", readConverterExp = "1=同意,2=拒绝") + @Excel(name = "生产部经理标识", readConverterExp = "1=同意,2=拒绝") private String productionManagerFlag; /** - * 生产经理审核时间 + * 生产部经理审核时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @Excel(name = "生产经理审核时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "生产部经理审核时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") private Date productionManagerTime; /** - * 质量经理标识 + * 质量部经理标识 */ - @Excel(name = "质量经理标识", readConverterExp = "1=同意,2=拒绝") + @Excel(name = "质量部经理标识", readConverterExp = "1=同意,2=拒绝") private String qualityManagerFlag; /** - * 质量经理审核时间 + * 质量部经理审核时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @Excel(name = "质量经理审核时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "质量部经理审核时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") private Date qualityManagerTime; /** - * 巡检班长编号 + * 巡检班长编号List */ @Excel(name = "巡检班长编号") private String inspectionUserCode; /** - * 巡检班长消息标识 + * 巡检班长消息标识(1=已收到通知) */ @Excel(name = "巡检班长消息标识") private String inspectionUserFlag; diff --git a/aucma-report/src/main/java/com/aucma/report/domain/RecordSwitchOrder.java b/aucma-report/src/main/java/com/aucma/report/domain/RecordSwitchOrder.java index c0a8bb7..277d8e8 100644 --- a/aucma-report/src/main/java/com/aucma/report/domain/RecordSwitchOrder.java +++ b/aucma-report/src/main/java/com/aucma/report/domain/RecordSwitchOrder.java @@ -32,6 +32,12 @@ public class RecordSwitchOrder extends BaseEntity { @Excel(name = "切换工位编号") private String switchStationCode; + /** + * 切换工位名称 + */ + @Excel(name = "切换工位名称") + private String switchStationName; + /** * 原订单编号 */ @@ -56,6 +62,15 @@ public class RecordSwitchOrder extends BaseEntity { @Excel(name = "打印标识") private String isPrint; + + public String getSwitchStationName() { + return switchStationName; + } + + public void setSwitchStationName(String switchStationName) { + this.switchStationName = switchStationName; + } + public void setObjId(Long objId) { this.objId = objId; } diff --git a/aucma-report/src/main/java/com/aucma/report/mapper/RecordSwitchOrderMapper.java b/aucma-report/src/main/java/com/aucma/report/mapper/RecordSwitchOrderMapper.java index 0239c1b..6ea8a71 100644 --- a/aucma-report/src/main/java/com/aucma/report/mapper/RecordSwitchOrderMapper.java +++ b/aucma-report/src/main/java/com/aucma/report/mapper/RecordSwitchOrderMapper.java @@ -1,5 +1,6 @@ package com.aucma.report.mapper; +import java.util.HashMap; import java.util.List; import com.aucma.report.domain.RecordSwitchOrder; @@ -58,4 +59,16 @@ public interface RecordSwitchOrderMapper * @return 结果 */ public int deleteRecordSwitchOrderByObjIds(Long[] objIds); + + /** + * 查询箱体条码信息 + * @param code + * @return + */ + List> selectPrintBarcode(String code); + + int printSupplementBarcode(HashMap hashMap); + + int updatePrintCode(RecordSwitchOrder recordSwitchOrder); + } diff --git a/aucma-report/src/main/java/com/aucma/report/service/impl/RecordSwitchOrderServiceImpl.java b/aucma-report/src/main/java/com/aucma/report/service/impl/RecordSwitchOrderServiceImpl.java index edcb837..019f9ba 100644 --- a/aucma-report/src/main/java/com/aucma/report/service/impl/RecordSwitchOrderServiceImpl.java +++ b/aucma-report/src/main/java/com/aucma/report/service/impl/RecordSwitchOrderServiceImpl.java @@ -1,96 +1,127 @@ package com.aucma.report.service.impl; +import java.util.HashMap; import java.util.List; + +import com.aucma.base.domain.BaseOrderInfo; +import com.aucma.base.service.IBaseOrderInfoService; +import com.aucma.common.exception.ServiceException; import com.aucma.common.utils.DateUtils; +import com.aucma.common.utils.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.aucma.report.mapper.RecordSwitchOrderMapper; import com.aucma.report.domain.RecordSwitchOrder; import com.aucma.report.service.IRecordSwitchOrderService; +import static com.aucma.common.utils.SecurityUtils.getUsername; + /** * 切换订单管理Service业务层处理 - * + * * @author Yinq * @date 2024-04-23 */ @Service -public class RecordSwitchOrderServiceImpl implements IRecordSwitchOrderService -{ +public class RecordSwitchOrderServiceImpl implements IRecordSwitchOrderService { @Autowired private RecordSwitchOrderMapper recordSwitchOrderMapper; + @Autowired + private IBaseOrderInfoService baseOrderInfoService; + /** * 查询切换订单管理 - * + * * @param objId 切换订单管理主键 * @return 切换订单管理 */ @Override - public RecordSwitchOrder selectRecordSwitchOrderByObjId(Long objId) - { + public RecordSwitchOrder selectRecordSwitchOrderByObjId(Long objId) { return recordSwitchOrderMapper.selectRecordSwitchOrderByObjId(objId); } /** * 查询切换订单管理列表 - * + * * @param recordSwitchOrder 切换订单管理 * @return 切换订单管理 */ @Override - public List selectRecordSwitchOrderList(RecordSwitchOrder recordSwitchOrder) - { + public List selectRecordSwitchOrderList(RecordSwitchOrder recordSwitchOrder) { return recordSwitchOrderMapper.selectRecordSwitchOrderList(recordSwitchOrder); } /** * 新增切换订单管理 - * + * * @param recordSwitchOrder 切换订单管理 * @return 结果 */ @Override - public int insertRecordSwitchOrder(RecordSwitchOrder recordSwitchOrder) - { + public int insertRecordSwitchOrder(RecordSwitchOrder recordSwitchOrder) { + try { + recordSwitchOrder.setCreateBy(getUsername()); + } catch (Exception e) { + e.printStackTrace(); + } recordSwitchOrder.setCreateTime(DateUtils.getNowDate()); return recordSwitchOrderMapper.insertRecordSwitchOrder(recordSwitchOrder); } /** * 修改切换订单管理 - * + * * @param recordSwitchOrder 切换订单管理 * @return 结果 */ @Override - public int updateRecordSwitchOrder(RecordSwitchOrder recordSwitchOrder) - { + public int updateRecordSwitchOrder(RecordSwitchOrder recordSwitchOrder) { + String oldOrderCode = recordSwitchOrder.getOrderCode(); + String newOrderCode = recordSwitchOrder.getOldOrderCode(); + + BaseOrderInfo baseOrderInfo = new BaseOrderInfo(); + baseOrderInfo.setOrderCode(newOrderCode); + List baseOrderInfos = baseOrderInfoService.selectBaseOrderInfoList(baseOrderInfo); + if (baseOrderInfos.size() == 0){ + throw new ServiceException("MES系统未维护此SAP订单!"); + } + recordSwitchOrder.setIsSwitch("1"); + recordSwitchOrder.setOldOrderCode(oldOrderCode); + recordSwitchOrder.setOrderCode(newOrderCode); + recordSwitchOrder.setUpdateBy(getUsername()); recordSwitchOrder.setUpdateTime(DateUtils.getNowDate()); - return recordSwitchOrderMapper.updateRecordSwitchOrder(recordSwitchOrder); + try { + recordSwitchOrderMapper.updatePrintCode(recordSwitchOrder); + recordSwitchOrderMapper.updateRecordSwitchOrder(recordSwitchOrder); + List> barcodeList = recordSwitchOrderMapper.selectPrintBarcode(recordSwitchOrder.getMaterialBarcode()); + // 维护条码补打记录表 + recordSwitchOrderMapper.printSupplementBarcode(barcodeList.get(0)); + } catch (Exception e) { + e.printStackTrace(); + } + return 1; } /** * 批量删除切换订单管理 - * + * * @param objIds 需要删除的切换订单管理主键 * @return 结果 */ @Override - public int deleteRecordSwitchOrderByObjIds(Long[] objIds) - { + public int deleteRecordSwitchOrderByObjIds(Long[] objIds) { return recordSwitchOrderMapper.deleteRecordSwitchOrderByObjIds(objIds); } /** * 删除切换订单管理信息 - * + * * @param objId 切换订单管理主键 * @return 结果 */ @Override - public int deleteRecordSwitchOrderByObjId(Long objId) - { + public int deleteRecordSwitchOrderByObjId(Long objId) { return recordSwitchOrderMapper.deleteRecordSwitchOrderByObjId(objId); } } diff --git a/aucma-report/src/main/resources/mapper/report/RecordSwitchOrderMapper.xml b/aucma-report/src/main/resources/mapper/report/RecordSwitchOrderMapper.xml index 58056a5..ba2439e 100644 --- a/aucma-report/src/main/resources/mapper/report/RecordSwitchOrderMapper.xml +++ b/aucma-report/src/main/resources/mapper/report/RecordSwitchOrderMapper.xml @@ -8,6 +8,7 @@ + @@ -20,49 +21,54 @@ - select obj_id, - material_barcode, - switch_station_code, - old_order_code, - is_switch, - create_by, - create_time, - update_by, - update_time, - remark, - order_code, - is_print - from record_switch_order + SELECT rso.obj_id, + rso.material_barcode, + rso.switch_station_code, + pl.PRODUCT_LINE_NAME switch_station_name, + rso.old_order_code, + rso.is_switch, + rso.create_by, + rso.create_time, + rso.update_by, + rso.update_time, + rso.remark, + PB.ORDER_CODE, + ps.IS_PRINT is_print + FROM record_switch_order rso + left join BASE_PRODUCTLINE pl ON rso.switch_station_code = pl.PRODUCT_LINE_CODE + left join C##AUCMA_SCADA.PRINT_BARCODE PB ON PB.MATERIAL_BARCODE = rso.MATERIAL_BARCODE + left join C##AUCMA_SCADA.PRINT_SUPPLEMENTBARCODE ps ON ps.MATERIAL_BARCODE = rso.MATERIAL_BARCODE @@ -115,6 +121,12 @@ where obj_id = #{objId} + + update C##AUCMA_SCADA.PRINT_BARCODE + set ORDER_CODE = #{orderCode} + where MATERIAL_BARCODE = #{materialBarcode} + + delete from record_switch_order @@ -127,4 +139,40 @@ #{objId} + + + + + INSERT INTO C##AUCMA_SCADA.PRINT_SUPPLEMENTBARCODE + + ORDER_CODE, + MATERIAL_CODE, + MATERIAL_NAME, + MATERIAL_BARCODE, + PRINT_BARTYPE, + PRINT_NAME, + + + #{ORDER_CODE}, + #{MATERIAL_CODE}, + #{MATERIAL_NAME}, + #{MATERIAL_BARCODE}, + #{PRINT_BARTYPE}, + #{PRINT_NAME}, + + \ No newline at end of file