diff --git a/op-modules/op-mes/src/main/java/com/op/mes/controller/MesInspectionReportController.java b/op-modules/op-mes/src/main/java/com/op/mes/controller/MesInspectionReportController.java index 4f5a0d443..b7078cb72 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/controller/MesInspectionReportController.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/controller/MesInspectionReportController.java @@ -1,8 +1,6 @@ package com.op.mes.controller; 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.mes.domain.MesInspectionReport; import com.op.mes.service.IMesInspectionReportService; import org.springframework.beans.factory.annotation.Autowired; @@ -48,4 +46,15 @@ public class MesInspectionReportController extends BaseController { return iMesInspectionReportService.selectFirstInspectionRightList(mesInspectionReport); } + //点检记录 + @GetMapping("/listPointInspection") + public List listPointInspection(MesInspectionReport mesInspectionReport) { + return iMesInspectionReportService.selectPointInspectionList(mesInspectionReport); + } + + //点检记录 + @GetMapping("/listCheckBox") + public List listCheckBox(MesInspectionReport mesInspectionReport) { + return iMesInspectionReportService.selectCheckBoxList(mesInspectionReport); + } } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/domain/MesInspectionReport.java b/op-modules/op-mes/src/main/java/com/op/mes/domain/MesInspectionReport.java index b29a4aea8..891a61ff1 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/domain/MesInspectionReport.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/domain/MesInspectionReport.java @@ -3,9 +3,6 @@ package com.op.mes.domain; import com.op.common.core.annotation.Excel; import com.op.common.core.web.domain.BaseEntity; -import java.util.HashMap; -import java.util.Map; - //MES自检互检 public class MesInspectionReport extends BaseEntity { private static final long serialVersionUID = 1L; @@ -68,6 +65,16 @@ public class MesInspectionReport extends BaseEntity { //设备名称 private String equipmentName; + //项目名 + private String projectName; + + //开线 + private String openLine; + //清换线 + private String clearLine; + //班组 + private String team; + //动态增加字段 // private Map dynamicTime; // @@ -132,4 +139,15 @@ public class MesInspectionReport extends BaseEntity { public void setEquipmentName(String equipmentName) { this.equipmentName = equipmentName; } public String getEquipmentName() { return equipmentName; } + public void setProjectName(String projectName) { this.projectName = projectName; } + public String getProjectName() { return projectName; } + + public void setOpenLine(String openLine) { this.openLine = openLine; } + public String getOpenLine() { return openLine; } + + public void setClearLine(String clearLine) { this.clearLine = clearLine; } + public String getClearLine() { return clearLine; } + + public void setTeam(String team) { this.team = team; } + public String getTeam() { return team; } } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/domain/MesUnitpriceReport.java b/op-modules/op-mes/src/main/java/com/op/mes/domain/MesUnitpriceReport.java index b91cc67db..95cb91010 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/domain/MesUnitpriceReport.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/domain/MesUnitpriceReport.java @@ -57,6 +57,23 @@ public class MesUnitpriceReport extends BaseEntity { @Excel(name = "带线组长") private String lineLeader; + public String getLineLeader() { + return lineLeader; + } + + public void setLineLeader(String lineLeader) { + this.lineLeader = lineLeader; + } + + @Override + public String getRemark() { + return remark; + } + + @Override + public void setRemark(String remark) { + this.remark = remark; + } // @Excel(name = "产线编码") // private String sapCode; @@ -466,24 +483,41 @@ public class MesUnitpriceReport extends BaseEntity { @Override public String toString() { - return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) - .append("id", getId()) - .append("workorderCode", getWorkorderCode()) - .append("workorderCodeSap", getWorkorderCodeSap()) - .append("productName", getProductName()) - .append("productCode", getProductCode()) - .append("userName", getUserName()) - .append("nickName", getNickName()) - .append("childprocessCode", getChildprocessCode()) - .append("childprocessName", getChildprocessName()) - .append("attr1", getAttr1()) - .append("attr2", getAttr2()) - .append("attr3", getAttr3()) - .append("createBy", getCreateBy()) - .append("createTime", getCreateTime()) - .append("updateBy", getUpdateBy()) - .append("updateTime", getUpdateTime()) - .append("remark", getRemark()) - .toString(); + return "MesUnitpriceReport{" + + "id='" + id + '\'' + + ", workorderCode='" + workorderCode + '\'' + + ", workOrderProductDate=" + workOrderProductDate + + ", workorderCodeSap='" + workorderCodeSap + '\'' + + ", productCode='" + productCode + '\'' + + ", productName='" + productName + '\'' + + ", lineLeader='" + lineLeader + '\'' + + ", lineCode='" + lineCode + '\'' + + ", equipmentName='" + equipmentName + '\'' + + ", userName='" + userName + '\'' + + ", nickName='" + nickName + '\'' + + ", post='" + post + '\'' + + ", attr2='" + attr2 + '\'' + + ", childprocessName='" + childprocessName + '\'' + + ", orderQuantityP='" + orderQuantityP + '\'' + + ", umrez='" + umrez + '\'' + + ", orderQuantity='" + orderQuantity + '\'' + + ", attr1='" + attr1 + '\'' + + ", totalQuantity='" + totalQuantity + '\'' + + ", result=" + result + + ", kk=" + kk + + ", bd=" + bd + + ", zg=" + zg + + ", fg=" + fg + + ", sc=" + sc + + ", sj=" + sj + + ", tsfy=" + tsfy + + ", ybbt=" + ybbt + + ", xcbt=" + xcbt + + ", hj=" + hj + + ", realWages='" + realWages + '\'' + + ", remark='" + remark + '\'' + + ", childprocessCode='" + childprocessCode + '\'' + + ", attr3='" + attr3 + '\'' + + '}'; } } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesInspectionReportMapper.java b/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesInspectionReportMapper.java index 134b64af8..c2cb67c85 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesInspectionReportMapper.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesInspectionReportMapper.java @@ -1,6 +1,5 @@ package com.op.mes.mapper; -import com.op.common.core.web.domain.AjaxResult; import com.op.mes.domain.MesInspectionReport; import java.util.List; @@ -11,4 +10,9 @@ public interface MesInspectionReportMapper { List selectTimeArray(MesInspectionReport mesInspectionReport);//查询所有时间 MesInspectionReport selectSelfMutualInspectionData(MesInspectionReport mesInspectionReport); List getLineCodeList(); + + List selectPointInspectionProjectList(String param);//点检项目 + List selectTeamArray(MesInspectionReport mesInspectionReport);//班组 + + List selectCheckBoxList(MesInspectionReport mesInspectionReport); } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/IMesInspectionReportService.java b/op-modules/op-mes/src/main/java/com/op/mes/service/IMesInspectionReportService.java index a27bec23b..0f2942181 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/IMesInspectionReportService.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/IMesInspectionReportService.java @@ -1,6 +1,5 @@ package com.op.mes.service; -import com.op.common.core.web.domain.AjaxResult; import com.op.mes.domain.MesInspectionReport; import java.util.List; @@ -15,4 +14,8 @@ public interface IMesInspectionReportService { List selectFirstInspectionRightList(MesInspectionReport mesInspectionReport);//首检右报表 List selectFirstInspectionLeftList(MesInspectionReport mesInspectionReport);//首检左报表 + + List selectPointInspectionList(MesInspectionReport mesInspectionReport);//产品转换/完产清线点检表 + + List selectCheckBoxList(MesInspectionReport mesInspectionReport);//点检上方备选框 } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesInspectionReportServiceImpl.java b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesInspectionReportServiceImpl.java index fbcb03bd7..cbd995940 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesInspectionReportServiceImpl.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesInspectionReportServiceImpl.java @@ -227,4 +227,172 @@ public class MesInspectionReportServiceImpl implements IMesInspectionReportServi return listDTO; } + @Override + @DS("#header.poolName") + public List selectPointInspectionList(MesInspectionReport mesInspectionReport) { + //1.报表名 + mesInspectionReport.setReportName("CheckReport"); + List list = mesInspectionReportMapper.selectSelfMutualInspectionList(mesInspectionReport); + String param = "finished_production_check"; + //查询点检项目 点检内容 + List projectList = mesInspectionReportMapper.selectPointInspectionProjectList(param); + + List teamArray = mesInspectionReportMapper.selectTeamArray(mesInspectionReport); + List listDTO = new ArrayList<>(); + + for(MesInspectionReport project : projectList){ + Map dynamicRow = new LinkedHashMap<>(); + dynamicRow.put("序号",project.getTableLine() + ""); + dynamicRow.put("点检项目",project.getProjectName()); + dynamicRow.put("点检内容",project.getInfoName()); + if(CollectionUtils.isEmpty(teamArray)){ + dynamicRow.put("", ""); + dynamicRow.put(" ", ""); + dynamicRow.put(" ", ""); + dynamicRow.put(" ", ""); + dynamicRow.put(" ", ""); + dynamicRow.put(" ", ""); + }else{ + for(String team : teamArray){ + List result = list.stream() + .filter(MesInspectionReport -> MesInspectionReport.getRemark().equals(team)) // 条件1:符合班组 + .filter(MesInspectionReport-> MesInspectionReport.getInfoName().equals(project.getInfoName())) // 条件2:符合当前项目内容 + .collect(Collectors.toList()); // 收集结果 + if(!CollectionUtils.isEmpty(result)){ + if(StringUtils.isNotBlank(result.get(0).getCheckResult())){ + dynamicRow.put(team, result.get(0).getCheckResult()); + }else{ + dynamicRow.put(team, ""); + } + }else{ + dynamicRow.put(team, ""); + } + } + } + + if(teamArray.size() < 6){ + for(int i = 0 ; i < 6-(teamArray.size()) ; i++){ + if(i == 0){ + dynamicRow.put("", ""); + }else if(i == 1){ + dynamicRow.put(" ", ""); + }else if(i == 2){ + dynamicRow.put(" ", ""); + }else if(i == 3){ + dynamicRow.put(" ", ""); + }else if(i == 4){ + dynamicRow.put(" ", ""); + }else if(i == 5){ + dynamicRow.put(" ", ""); + } + + } + } + + String s = JSON.toJSONString(dynamicRow); + JSONObject object = JSONObject.parseObject(s, Feature.OrderedField); + log.info("点检动态添加属性: = {}",object); + listDTO.add(object); + } + log.info("点检动态添加属性: = {}", JSON.toJSONString(listDTO)); + return listDTO; + } + + //点检上半部分数据 + @Override + @DS("#header.poolName") + public List selectCheckBoxList(MesInspectionReport mesInspectionReport) { + List listDTO = new ArrayList<>(); + //1.报表名 + mesInspectionReport.setReportName("CheckReport"); + List lists = mesInspectionReportMapper.selectCheckBoxList(mesInspectionReport); + + Map> dynamicRow1 = new LinkedHashMap<>(); + Map dynamicRow2 = new LinkedHashMap<>(); + String str = "str"; + int i = 0; + for(MesInspectionReport list :lists){ + Map dynamicRow10 = new LinkedHashMap<>(); + if(list.getBz().equals("1")){ + dynamicRow10.put("openLine",Boolean.TRUE); + dynamicRow10.put("clearLine",Boolean.FALSE); + dynamicRow1.put(str + i + "",dynamicRow10); + }else{ + dynamicRow10.put("clearLine",Boolean.TRUE); + dynamicRow10.put("openLine",Boolean.FALSE); + dynamicRow1.put(str + i + "",dynamicRow10); + } + + dynamicRow2.put(str + i + "","班组:" + list.getRemark()); + i++; + } + if(lists == null){ + Map dynamicRow10 = new LinkedHashMap<>(); + dynamicRow10.put("openLine",Boolean.FALSE); + dynamicRow10.put("clearLine",Boolean.FALSE); + dynamicRow1.put(str + 0 + "", dynamicRow10); + dynamicRow1.put(str + 1 + "", dynamicRow10); + dynamicRow1.put(str + 2 + "", dynamicRow10); + dynamicRow1.put(str + 3 + "", dynamicRow10); + dynamicRow1.put(str + 4 + "", dynamicRow10); + dynamicRow1.put(str + 5 + "", dynamicRow10); + + dynamicRow2.put(str + 0 + "", "班组:"); + dynamicRow2.put(str + 1 + "", "班组:"); + dynamicRow2.put(str + 2 + "", "班组:"); + dynamicRow2.put(str + 3 + "", "班组:"); + dynamicRow2.put(str + 4 + "", "班组:"); + dynamicRow2.put(str + 5 + "", "班组:"); + } + + if(dynamicRow1.size() < 6){ + for(int j = 0 ; j < 6-(lists.size()) ; j++){ + Map dynamicRow10 = new LinkedHashMap<>(); + dynamicRow10.put("openLine",Boolean.FALSE); + dynamicRow10.put("clearLine",Boolean.FALSE); + if(j == 0){ + dynamicRow1.put(str + 5 +"", dynamicRow10); + }else if(j == 1){ + dynamicRow1.put(str + 4 +"", dynamicRow10); + }else if(j == 2){ + dynamicRow1.put(str + 3 +"", dynamicRow10); + }else if(j == 3){ + dynamicRow1.put(str + 2 +"", dynamicRow10); + }else if(j == 4){ + dynamicRow1.put(str + 1 +"", dynamicRow10); + }else if(j == 5){ + dynamicRow1.put(str + 0 +"", dynamicRow10); + } + } + } + + if(dynamicRow2.size() < 6){ + for(int j = 0 ; j < 6-(lists.size()) ; j++){ + if(j == 0){ + dynamicRow2.put(str + 5 +"", "班组:"); + }else if(j == 1){ + dynamicRow2.put(str + 4 +"", "班组:"); + }else if(j == 2){ + dynamicRow2.put(str + 3 +"", "班组:"); + }else if(j == 3){ + dynamicRow2.put(str + 2 +"", "班组:"); + }else if(j == 4){ + dynamicRow2.put(str + 1 +"", "班组:"); + }else if(j == 5){ + dynamicRow2.put(str + 0 +"", "班组:"); + } + } + } + + String s1 = JSON.toJSONString(dynamicRow1); + String s2 = JSON.toJSONString(dynamicRow2); + JSONObject object1 = JSONObject.parseObject(s1, Feature.OrderedField); + JSONObject object2 = JSONObject.parseObject(s2, Feature.OrderedField); + log.info("点检动态添加属性: = {}",object1); + log.info("点检动态添加属性: = {}",object2); + listDTO.add(object1); + listDTO.add(object2); + log.info("点检动态添加属性: = {}", JSON.toJSONString(listDTO)); + return listDTO; + } } diff --git a/op-modules/op-mes/src/main/resources/mapper/mes/MesInspectionReportMapper.xml b/op-modules/op-mes/src/main/resources/mapper/mes/MesInspectionReportMapper.xml index d12c334da..c35eb9f96 100644 --- a/op-modules/op-mes/src/main/resources/mapper/mes/MesInspectionReportMapper.xml +++ b/op-modules/op-mes/src/main/resources/mapper/mes/MesInspectionReportMapper.xml @@ -30,10 +30,11 @@ - - + + + + + + + + + diff --git a/op-modules/op-sap/src/main/java/com/op/sap/controller/SapController.java b/op-modules/op-sap/src/main/java/com/op/sap/controller/SapController.java index 0984f8781..93baa8d52 100644 --- a/op-modules/op-sap/src/main/java/com/op/sap/controller/SapController.java +++ b/op-modules/op-sap/src/main/java/com/op/sap/controller/SapController.java @@ -514,6 +514,14 @@ public class SapController extends BaseController { public R incomingConversion(@RequestBody(required = false) Map mapList) { return sapItemSyncService.incomingConversion(mapList); } + + //sap105过账功能--这个功能是有两个sap接口组成的,要先调用ZMES_MSEG获取物料凭证数据,再根据获取的信息,调用ZMES_MIGO_105 + @PostMapping("/sap105temporarilyCollected") + @Log(title = "sap105过账接口", businessType = BusinessType.SAP) + public R sap105temporarilyCollected(@RequestBody(required = false) List mapList) { + return sapItemSyncService.sap105temporarilyCollected(mapList); + } + @PostMapping("/addDatasource") public R addDatasource(@RequestBody DataSourcePropertyDTO dto){ DataSourceProperty dataSourceProperty = new DataSourceProperty(); diff --git a/op-modules/op-sap/src/main/java/com/op/sap/service/SapItemSyncService.java b/op-modules/op-sap/src/main/java/com/op/sap/service/SapItemSyncService.java index 46cab337d..7c1469b14 100644 --- a/op-modules/op-sap/src/main/java/com/op/sap/service/SapItemSyncService.java +++ b/op-modules/op-sap/src/main/java/com/op/sap/service/SapItemSyncService.java @@ -38,4 +38,6 @@ public interface SapItemSyncService { R incomingConversion(Map mapList); R temporarilyCollected(List mapList); + + R sap105temporarilyCollected(List mapList); } diff --git a/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapItemSyncImpl.java b/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapItemSyncImpl.java index 6f12c4171..93955ca88 100644 --- a/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapItemSyncImpl.java +++ b/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapItemSyncImpl.java @@ -650,5 +650,50 @@ public class SapItemSyncImpl implements SapItemSyncService { } } + @Override + public R sap105temporarilyCollected(List mapList) { + try { + JCoRepository repository = dest.getRepository(); + JCoFunction func = repository.getFunction("ZMES_103_MIGO"); + if (func == null) { + throw new RuntimeException("Function does not exist in SAP"); + } + log.info("来料暂收参数-------" + mapList.toString()); + JCoTable L_ITEM = func.getTableParameterList().getTable("L_ITEM"); + System.out.println(L_ITEM); + for (Map map : mapList) { + L_ITEM.appendRow(); + L_ITEM.setValue("EBELN", map.get("EBELN")); + L_ITEM.setValue("EBELP", map.get("EBELP")); + L_ITEM.setValue("MATNR", map.get("MATNR")); + L_ITEM.setValue("WERKS", map.get("WERKS")); + L_ITEM.setValue("QUANTITY", map.get("QUANTITY")); + } + System.out.println(L_ITEM); + func.execute(dest);//执行调用函数 + /** + * RETCODE CHAR3 返回值:200-没有错误,500-有错误 + * L_MSG CHAR220 返回消息文本 + * MATERIALDOCUMENT CHAR10 物料凭证编号 + * MATDOCUMENTYEAR NUMC4 物料凭证年度 + */ + String RETCODE = func.getExportParameterList().getString("RETCODE"); + String MESSAGE = func.getExportParameterList().getString("L_MSG"); + String MATERIALDOCUMENT = func.getExportParameterList().getString("MATERIALDOCUMENT"); + String MATDOCUMENTYEAR = func.getExportParameterList().getString("MATDOCUMENTYEAR"); + log.info("暂收结果结果-----" + RETCODE+"/" +MESSAGE+"/" +MATERIALDOCUMENT+"/" +MATDOCUMENTYEAR); + if((Constants.FAIL).equals(Integer.parseInt(RETCODE))){ + return R.fail(MESSAGE); + } + Map Resmap = new HashMap(); + Resmap.put("MATERIALDOCUMENT", MATERIALDOCUMENT); + Resmap.put("MATDOCUMENTYEAR", MATDOCUMENTYEAR); + return R.ok(Resmap, MESSAGE); + } catch (Exception e) { + log.error(e.getMessage()); + return R.fail(e.getMessage()); + } + } + } diff --git a/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsToWCSmissionController.java b/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsToWCSmissionController.java index 1df02da55..1545e9166 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsToWCSmissionController.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsToWCSmissionController.java @@ -787,6 +787,11 @@ public class WmsToWCSmissionController { OdsProcureOrder odsProcureOrder1 = odsProcureOrderService.selectOrderCard(odsProcureOrder); return success(odsProcureOrder1); } - + // + @PostMapping("/addOrderCard") + public AjaxResult addOrderCard(@RequestBody OdsProcureOrder odsProcureOrder) { + String result = odsProcureOrderService.addOrderCard(odsProcureOrder); + return success(result); + } } diff --git a/op-modules/op-wms/src/main/java/com/op/wms/mapper/OdsProcureOrderMapper.java b/op-modules/op-wms/src/main/java/com/op/wms/mapper/OdsProcureOrderMapper.java index d8dc69acb..b5d3c3205 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/mapper/OdsProcureOrderMapper.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/mapper/OdsProcureOrderMapper.java @@ -77,4 +77,6 @@ public interface OdsProcureOrderMapper { void addBatchPallet(@Param("list")List dtos); OdsProcureOrder selectOdsProcureOrderCard(OdsProcureOrder odsProcureOrder); + + void updateodsProcureOrderCard(OdsProcureOrder order1); } diff --git a/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsProductPutMapper.java b/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsProductPutMapper.java index 4e58432e6..d3cc95c66 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsProductPutMapper.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsProductPutMapper.java @@ -86,6 +86,8 @@ public interface WmsProductPutMapper { WmsProductPut selectProOrderWorkorderBatchPalletAtter(ProOrderWorkorder proOrderWorkorder); + void updateProOrderWorkorderBatchPallet(@Param("palletCode")String sn); + // String selectProOrderWorkorder(WmsProductPut wmsProductPut1); diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/IOdsProcureOrderService.java b/op-modules/op-wms/src/main/java/com/op/wms/service/IOdsProcureOrderService.java index db3a73621..f81dcc856 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/service/IOdsProcureOrderService.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/service/IOdsProcureOrderService.java @@ -117,4 +117,6 @@ public interface IOdsProcureOrderService { String getIdCardListDA(OdsProcureOrder odsProcureOrder); OdsProcureOrder selectOrderCard(OdsProcureOrder odsProcureOrder); + + String addOrderCard(OdsProcureOrder odsProcureOrder); } diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/OdsProcureOrderServiceImpl.java b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/OdsProcureOrderServiceImpl.java index 6df4db65c..5c0997841 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/OdsProcureOrderServiceImpl.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/OdsProcureOrderServiceImpl.java @@ -43,6 +43,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import com.op.wms.service.IOdsProcureOrderService; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; @@ -779,7 +780,8 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { mapList.add(paramMap); R result2 = remoteSapService.temporarilyCollected(mapList); int code = result2.getCode(); - if (code == 200){//成功 + if (code == 200){ + //成功 Map map = new HashMap(); map = (Map) result2.getData(); String MATERIALDOCUMENT = (String) map.get("MATERIALDOCUMENT"); @@ -1212,6 +1214,180 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService { return order; } + @Override + public String addOrderCard(OdsProcureOrder odsProcureOrder) { + //他有两部分,分别是单子和标识卡,修改单子,把标识卡保存修改库存 + String result1="操作成功"; + //收货记录--rawOrderInSnId。修改收货数量------------- + DynamicDataSourceContextHolder.push("ds_" + odsProcureOrder.getFactoryCode()); + //--receiptNoCode收货单号 + OdsProcureOrder order = odsProcureOrderMapper.selectOdsProcureOrderByID(odsProcureOrder.getID()); + //查询出对应的采购单 + List orderList= odsProcureOrder.getList(); + //对应采购单的标识卡 + + //wms_raw_order_in_sn + BigDecimal Tme=new BigDecimal("0"); + for (OdsProcureOrder order1: + orderList) { + //标识卡信息 + //wms_raw_order_in_sn + WmsRawOrderInSn wmsRawOrderInSn = new WmsRawOrderInSn(); + wmsRawOrderInSn.setRawOrderInSnId(IdUtils.fastSimpleUUID()); + wmsRawOrderInSn.setUserDefined1("2");//1是收货,2是入库 + wmsRawOrderInSn.setUserDefined2(order.getUserDefined7());//批次 + wmsRawOrderInSn.setWhCode(odsProcureOrder.getWhCode());//厂库编号 + wmsRawOrderInSn.setWaCode(odsProcureOrder.getWaCode()); + wmsRawOrderInSn.setWlCode(order1.getSn());//库位设置为托盘 + wmsRawOrderInSn.setPoNo(order.getProcureCode());//采购单号 + wmsRawOrderInSn.setPoLine(odsProcureOrder.getPoLine());//行项目 + wmsRawOrderInSn.setMaterialCode(order1.getMaterialCode()); + wmsRawOrderInSn.setMaterialDesc(order1.getMaterialDesc()); + wmsRawOrderInSn.setAmount(order1.getPlanNumber());//实际输入数量 + wmsRawOrderInSn.setFactoryCode(odsProcureOrder.getFactoryCode()); + wmsRawOrderInSn.setCreateBy(odsProcureOrder.getCreateBy()); + wmsRawOrderInSn.setGmtCreate(new Date()); + wmsRawOrderInSn.setActiveFlag("1"); + wmsRawOrderInSn.setUserDefined4(order.getUnit());//单位 + wmsRawOrderInSn.setSn(order1.getSn());//托盘号 + wmsRawOrderInSn.setFactoryCode(odsProcureOrder.getFactoryCode()); + wmsRawOrderInSn.setUserDefined3(order.getID()); + wmsRawOrderInSn.setUserDefined5(odsProcureOrder.getReceiptNoCode()); + wmsRawOrderInSn.setUserDefined6(order1.getUserDefined6());//标识码绑定 + wmsRawOrderInSnMapper.insertWmsRawOrderInSn(wmsRawOrderInSn); + //标识码绑定 + if (order1.getUserDefined6()!=null){ + WmsLogotypeTable wmsLogotypeTable=new WmsLogotypeTable(); + wmsLogotypeTable.setId(IdUtils.fastSimpleUUID()); + wmsLogotypeTable.setLogotype(order1.getUserDefined6()); + wmsLogotypeTable.setSn(order1.getSn()); + wmsLogotypeTable.setActiveFlag("1"); + wmsRawOrderInSnMapper.insertWmsLogotypeTable(wmsLogotypeTable); + } + //插入收货记录 + //如果收货完成了的话,就插入信息收货完成 + odsProcureOrder.setPlanNumber(order1.getPlanNumber());//操作数量 + odsProcureOrder.setOrderStatus("1"); + BigDecimal result = order.getRealityNumber().add(order1.getPlanNumber()); + if (result.equals(order.getPlanNumber())) { + odsProcureOrder.setOrderStatus("2");// + } + odsProcureOrderMapper.updateRealityNuById(odsProcureOrder); + + odsProcureOrderMapper.updateodsProcureOrderCard(order1); + Tme= Tme.add(order1.getPlanNumber()); + //单据修改完成 + } + //标识卡记录已经录入,订单已经修改完成 + + BigDecimal amount= Tme;//要入库的数量 + Map paramMap=new HashMap<>(); + List mapList = new ArrayList<>(); + paramMap.put("EBELN",order.getProcureCode()); + paramMap.put("EBELP",order.getUserDefined3()); + paramMap.put("MATNR",order.getMaterialCode()); + paramMap.put("WERKS",order.getSiteCode()); + paramMap.put("QUANTITY",amount.toString()); + mapList.add(paramMap); + R result2 = remoteSapService.temporarilyCollected(mapList); + int code = result2.getCode(); + OdsProcureOrder order1 = odsProcureOrderMapper.selectOdsProcureOrderByID(odsProcureOrder.getID()); + if (code == 200){ + Map map = new HashMap(); + map = (Map) result2.getData(); + String MATERIALDOCUMENT = (String) map.get("MATERIALDOCUMENT"); + String MATDOCUMENTYEAR = (String) map.get("MATDOCUMENTYEAR"); + order1.setSapTempInfor(result2.getMsg()); + WmsRawOrderIn wmsRawOrderIn=new WmsRawOrderIn(); + wmsRawOrderIn.setRawOrderInId(IdUtils.fastSimpleUUID()); + wmsRawOrderIn.setFactoryCode(odsProcureOrder.getFactoryCode()); + wmsRawOrderIn.setDnNo(odsProcureOrder.getReceiptNoCode()); + wmsRawOrderIn.setPoNo(order.getProcureCode()); + wmsRawOrderIn.setPoLine(order.getUserDefined3()); + wmsRawOrderIn.setMaterialCode(order.getMaterialCode()); + wmsRawOrderIn.setMaterialDesc(order.getMaterialDesc()); + wmsRawOrderIn.setRequestAmount(amount); + wmsRawOrderIn.setUnit(order.getUnit()); + wmsRawOrderIn.setRequestTime(new Date()); + wmsRawOrderIn.setOrderStatus("0");//暂收 + wmsRawOrderIn.setActiveFlag("1"); + wmsRawOrderIn.setSupplyCode(order.getSupplierCode()); + //wmsRawOrderIn.setUserDefined1(); + wmsRawOrderIn.setAccountingStatus("0");//0是暂收 + wmsRawOrderIn.setUserDefined1(MATERIALDOCUMENT);//物料凭证编号 + wmsRawOrderIn.setUserDefined2(MATDOCUMENTYEAR);//年凭证号 + wmsRawOrderIn.setUserDefined3(result2.getMsg());//暂收信息 + //wmsRawOrderIn.setAccountingMessage(result2.getMsg()); + wmsRawOrderIn.setSapFactoryCode(odsProcureOrder.getFactoryCode()); + wmsRawOrderIn.setCreateBy(odsProcureOrder.getCreateBy()); + wmsRawOrderIn.setGmtCreate(new Date()); + wmsRawOrderInMapper.insertWmsRawOrderIn(wmsRawOrderIn); + + order1.setSapTempStatus("1");//0是失败。1是成功 + + odsProcureOrderMapper.updateOdsProcureOrder(order1); + for (OdsProcureOrder odsProcureOrder1:orderList){ + //收货 + WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn = new WmsOdsMateStorageNewsSn(); + wmsOdsMateStorageNewsSn.setMateOrderInSnId(IdUtils.fastSimpleUUID()); + wmsOdsMateStorageNewsSn.setWhCode(odsProcureOrder.getWhCode());//仓库编码 + wmsOdsMateStorageNewsSn.setWaCode(odsProcureOrder.getWaCode()); + wmsOdsMateStorageNewsSn.setWlCode(odsProcureOrder1.getSn());//库位编码- + wmsOdsMateStorageNewsSn.setMaterialCode(odsProcureOrder1.getMaterialCode()); + wmsOdsMateStorageNewsSn.setMaterialDesc(odsProcureOrder1.getMaterialDesc()); + wmsOdsMateStorageNewsSn.setSn(odsProcureOrder1.getSn()); + wmsOdsMateStorageNewsSn.setAmount(odsProcureOrder1.getPlanNumber()); + wmsOdsMateStorageNewsSn.setCreateBy(odsProcureOrder.getCreateBy()); + wmsOdsMateStorageNewsSn.setGmtCreate(new Date()); + wmsOdsMateStorageNewsSn.setUserDefined2(order.getUserDefined7());//批次 + wmsOdsMateStorageNewsSn.setFactoryCode(odsProcureOrder.getFactoryCode()); + wmsOdsMateStorageNewsSn.setSapFactoryCode(odsProcureOrder.getFactoryCode()); + wmsOdsMateStorageNewsSn.setActiveFlag("1"); + wmsOdsMateStorageNewsSnMapper.insertWmsOdsMateStorageNewsSn(wmsOdsMateStorageNewsSn); + //修改库存 + //2,修改库存---/加库存数量-/-冻结数量 + WmsOdsEmStorageNews wmsOdsEmStorageNews = new WmsOdsEmStorageNews(); + wmsOdsEmStorageNews.setWhCode(odsProcureOrder.getWhCode());//仓库编码 + wmsOdsEmStorageNews.setWlCode(odsProcureOrder1.getSn());//库位编码 + wmsOdsEmStorageNews.setWaCode(odsProcureOrder.getWaCode());//库位编码 + wmsOdsEmStorageNews.setMaterialCode(odsProcureOrder1.getMaterialCode()); + wmsOdsEmStorageNews.setUserDefined2(order.getUserDefined7());//批次 + wmsOdsEmStorageNews.setAmount(odsProcureOrder1.getPlanNumber()); + //添加库存--这个要有个判断有没有这个库存如果没有的话,就插入 + WmsOdsMateStorageNews wmsOdsMateStorageNews = wmsOdsMateStorageNewsMapper.selectByWhCodeAndMate(wmsOdsEmStorageNews); + if (wmsOdsMateStorageNews == null) { + WmsOdsMateStorageNews wmsOdsMateStorageNews1 = new WmsOdsMateStorageNews(); + wmsOdsMateStorageNews1.setStorageId(IdUtils.fastSimpleUUID()); + wmsOdsMateStorageNews1.setWhCode(odsProcureOrder.getWhCode()); + wmsOdsMateStorageNews1.setWlCode(odsProcureOrder1.getSn()); + wmsOdsMateStorageNews1.setWaCode(odsProcureOrder.getWaCode()); + wmsOdsMateStorageNews1.setAmount(odsProcureOrder1.getPlanNumber()); + wmsOdsMateStorageNews1.setStorageAmount(odsProcureOrder1.getPlanNumber()); + wmsOdsMateStorageNews1.setMaterialCode(odsProcureOrder1.getMaterialCode()); + wmsOdsMateStorageNews1.setMaterialDesc(odsProcureOrder1.getMaterialDesc()); + wmsOdsMateStorageNews1.setStorageType("BC"); + wmsOdsMateStorageNews1.setCreateBy(odsProcureOrder.getCreateBy()); + wmsOdsMateStorageNews1.setGmtCreate(new Date()); + wmsOdsMateStorageNews1.setActiveFlag("1"); + wmsOdsMateStorageNews1.setFactoryCode(odsProcureOrder.getFactoryCode()); + wmsOdsMateStorageNews1.setSapFactoryCode(odsProcureOrder.getFactoryCode()); + wmsOdsMateStorageNews1.setUserDefined1(order.getUnit());//单位 + wmsOdsMateStorageNewsMapper.insertWmsOdsMateStorageNews(wmsOdsMateStorageNews1); + } else { + wmsOdsMateStorageNewsSnMapper.updateAdd(wmsOdsEmStorageNews); + } + // wmsRawOrderInSnMapper.updateU1Byid(wmsRawOrderInSn);//入库 + } + }else {////失败| + result1="暂收失败"; + order.setSapTempInfor(result2.getMsg()); + order.setSapTempStatus("0");//0是失败。1是成功 + odsProcureOrderMapper.updateOdsProcureOrder(order); + return result1; + } + return result1; + } + public String dayin( List orderList) { // 定义请求的URL地址 String url = dayinUrl1; diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java index b4c0ebd76..fb35345e8 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java @@ -1241,6 +1241,8 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService { } else { wmsFpStorageNewsMapper.insertWmsFpStorageNews(wmsFpStorageNews); } + // + wmsProductPutMapper.updateProOrderWorkorderBatchPallet(wmsProductPut1.getSn()); } return SUCCESS; } diff --git a/op-modules/op-wms/src/main/resources/mapper/wms/OdsProcureOrderMapper.xml b/op-modules/op-wms/src/main/resources/mapper/wms/OdsProcureOrderMapper.xml index 35c83d5eb..45e3d9374 100644 --- a/op-modules/op-wms/src/main/resources/mapper/wms/OdsProcureOrderMapper.xml +++ b/op-modules/op-wms/src/main/resources/mapper/wms/OdsProcureOrderMapper.xml @@ -454,5 +454,10 @@ WHERE card.User_Defined1= #{userDefined1} + + update ods_procure_order_card + SET User_Defined10 = '1' + where User_Defined1 = #{userDefined6} + diff --git a/op-modules/op-wms/src/main/resources/mapper/wms/WmsProductPutMapper.xml b/op-modules/op-wms/src/main/resources/mapper/wms/WmsProductPutMapper.xml index 1f4d57866..acf0b6e7d 100644 --- a/op-modules/op-wms/src/main/resources/mapper/wms/WmsProductPutMapper.xml +++ b/op-modules/op-wms/src/main/resources/mapper/wms/WmsProductPutMapper.xml @@ -464,4 +464,9 @@ + + update pro_order_workorder_batch_pallet + SET attr1 = '1' + where pallet_code = #{palletCode} +