diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/RemoteEnergyService.java b/op-api/op-api-system/src/main/java/com/op/system/api/RemoteEnergyService.java index 4659648a6..ad2047e10 100644 --- a/op-api/op-api-system/src/main/java/com/op/system/api/RemoteEnergyService.java +++ b/op-api/op-api-system/src/main/java/com/op/system/api/RemoteEnergyService.java @@ -13,9 +13,9 @@ import org.springframework.web.bind.annotation.RequestBody; */ @FeignClient(contextId = "remoteEnergyService", value = ServiceNameConstants.ENERGY_SERVICE, fallbackFactory = RemoteEnergyFallbackFactory.class) public interface RemoteEnergyService { - @PostMapping("/energy/addDatasource") + @PostMapping("/buildInfo/addDatasource") public R addDatasource(@RequestBody DataSourcePropertyDTO dataSourceProperty); - @PostMapping("/energy/removeDatasource") + @PostMapping("/buildInfo/removeDatasource") public R removeDatasource(@RequestBody DataSourcePropertyDTO dataSourceProperty); } diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/RemoteSapService.java b/op-api/op-api-system/src/main/java/com/op/system/api/RemoteSapService.java index 9a2dec95f..98b3f416d 100644 --- a/op-api/op-api-system/src/main/java/com/op/system/api/RemoteSapService.java +++ b/op-api/op-api-system/src/main/java/com/op/system/api/RemoteSapService.java @@ -130,4 +130,11 @@ public interface RemoteSapService { */ @PostMapping("/sap/temporarilyCollected") public R temporarilyCollected(@RequestBody(required = false) List mapList) ; + /** + *sap105过账接口 + */ + @PostMapping("/sap/sap105temporarilyCollected") + public R sap105temporarilyCollected(@RequestBody(required = false) List mapList) ; } + + diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/domain/device/EquEquipmentDTO.java b/op-api/op-api-system/src/main/java/com/op/system/api/domain/device/EquEquipmentDTO.java index 1cbb4b540..85521ca25 100644 --- a/op-api/op-api-system/src/main/java/com/op/system/api/domain/device/EquEquipmentDTO.java +++ b/op-api/op-api-system/src/main/java/com/op/system/api/domain/device/EquEquipmentDTO.java @@ -7,6 +7,7 @@ import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import java.util.Date; +import java.util.List; /** * 设备管理对象 base_equipment @@ -156,6 +157,44 @@ public class EquEquipmentDTO extends BaseEntity { @Excel(name = "SAP资产号") private String sapAsset; + private String factoryCode; + private String sapCode; + private String sapName; + + private List details; + + public List getDetails() { + return details; + } + + public void setDetails(List details) { + this.details = details; + } + + public String getSapCode() { + return sapCode; + } + + public void setSapCode(String sapCode) { + this.sapCode = sapCode; + } + + public String getSapName() { + return sapName; + } + + public void setSapName(String sapName) { + this.sapName = sapName; + } + + public String getFactoryCode() { + return factoryCode; + } + + public void setFactoryCode(String factoryCode) { + this.factoryCode = factoryCode; + } + public void setEquipmentId(Long equipmentId) { this.equipmentId = equipmentId; } diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteSapFallbackFactory.java b/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteSapFallbackFactory.java index c7bc2477e..8578ab5fd 100644 --- a/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteSapFallbackFactory.java +++ b/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteSapFallbackFactory.java @@ -143,6 +143,11 @@ public class RemoteSapFallbackFactory implements FallbackFactory mapList) { + return R.fail("105过账失败" + throwable.getMessage()); + } + }; } } diff --git a/op-common/op-common-core/src/main/java/com/op/common/core/utils/poi/ExcelMapUtil.java b/op-common/op-common-core/src/main/java/com/op/common/core/utils/poi/ExcelMapUtil.java index f58dfdbc5..a22e6414f 100644 --- a/op-common/op-common-core/src/main/java/com/op/common/core/utils/poi/ExcelMapUtil.java +++ b/op-common/op-common-core/src/main/java/com/op/common/core/utils/poi/ExcelMapUtil.java @@ -118,6 +118,7 @@ public class ExcelMapUtil { cellStyle.setBorderLeft(BorderStyle.THIN); // 设置右边框 cellStyle.setBorderRight(BorderStyle.THIN); + cellStyle.setFillBackgroundColor(IndexedColors.AQUA.getIndex()); return cellStyle; } diff --git a/op-modules/op-energy/src/main/java/com/op/energy/base/controller/BaseBuildInfoController.java b/op-modules/op-energy/src/main/java/com/op/energy/base/controller/BaseBuildInfoController.java index e9684c536..3a89c5600 100644 --- a/op-modules/op-energy/src/main/java/com/op/energy/base/controller/BaseBuildInfoController.java +++ b/op-modules/op-energy/src/main/java/com/op/energy/base/controller/BaseBuildInfoController.java @@ -1,17 +1,24 @@ package com.op.energy.base.controller; +import com.baomidou.dynamic.datasource.DynamicRoutingDataSource; +import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DataSourceProperty; +import com.op.common.core.domain.R; +import com.op.common.core.utils.bean.BeanUtils; 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.datasource.creator.DynamicDatasourceCreator; import com.op.common.log.annotation.Log; import com.op.common.log.enums.BusinessType; import com.op.common.security.annotation.RequiresPermissions; import com.op.energy.base.domain.BaseBuildInfo; import com.op.energy.base.domain.Ztree; import com.op.energy.base.service.IBaseBuildInfoService; +import com.op.system.api.domain.DataSourcePropertyDTO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.util.List; @@ -26,7 +33,10 @@ import java.util.List; public class BaseBuildInfoController extends BaseController { @Autowired private IBaseBuildInfoService baseBuildInfoService; - + @Resource + private DynamicDatasourceCreator dynamicDatasourceCreator; + @Resource + private DynamicRoutingDataSource dynamicRoutingDataSource; /** * 查询建筑信息管理列表 */ @@ -97,5 +107,19 @@ public class BaseBuildInfoController extends BaseController { List ztrees = baseBuildInfoService.selectBaseBuildInfoTree(); return ztrees; } + @PostMapping("/addDatasource") + public R addDatasource(@RequestBody DataSourcePropertyDTO dto){ + DataSourceProperty dataSourceProperty = new DataSourceProperty(); + BeanUtils.copyProperties(dto,dataSourceProperty); + dynamicDatasourceCreator.createDynamicDataSource(dataSourceProperty); + return R.ok(); + } + @PostMapping("/removeDatasource") + public R removeDatasource(@RequestBody DataSourcePropertyDTO dto){ + DataSourceProperty dataSourceProperty = new DataSourceProperty(); + BeanUtils.copyProperties(dto,dataSourceProperty); + dynamicRoutingDataSource.removeDataSource(dataSourceProperty.getPoolName()); + return R.ok(); + } } 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 891a61ff1..2cc552980 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 @@ -68,6 +68,9 @@ public class MesInspectionReport extends BaseEntity { //项目名 private String projectName; + //线体名 + private String lineName; + //开线 private String openLine; //清换线 @@ -150,4 +153,7 @@ public class MesInspectionReport extends BaseEntity { public void setTeam(String team) { this.team = team; } public String getTeam() { return team; } + + public void setLineName(String lineName) { this.lineName = lineName; } + public String getLineName() { return lineName; } } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/domain/MesPrepareDetail.java b/op-modules/op-mes/src/main/java/com/op/mes/domain/MesPrepareDetail.java index d17546279..5c26bc03e 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/domain/MesPrepareDetail.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/domain/MesPrepareDetail.java @@ -119,6 +119,15 @@ public class MesPrepareDetail extends BaseEntity { private String workorderCode; private String parentOrder; private String prodLineCode; + private int xh; + + public int getXh() { + return xh; + } + + public void setXh(int xh) { + this.xh = xh; + } public String getProductDateStr() { return productDateStr; diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesPrepareDetailServiceImpl.java b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesPrepareDetailServiceImpl.java index 99828f877..a997aa3a4 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesPrepareDetailServiceImpl.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesPrepareDetailServiceImpl.java @@ -1,6 +1,7 @@ package com.op.mes.service.impl; import java.util.List; +import java.util.stream.Collectors; import com.baomidou.dynamic.datasource.annotation.DS; import com.op.common.core.utils.DateUtils; @@ -112,8 +113,15 @@ public class MesPrepareDetailServiceImpl implements IMesPrepareDetailService { .replace("\"","") .replace("\"","") .replace("]]","")); + mesPrepareDetailList = mesPrepareDetailList.stream() + .filter(dto ->!dto.getQuantity().equals("0.00")) + .collect(Collectors.toList()); PrintPrepareVo printPrepareVo = new PrintPrepareVo(); printPrepareVo.setMesPrepare(mesPrepare); + int i = 1; + for(MesPrepareDetail dto:mesPrepareDetailList){ + dto.setXh(i++); + } printPrepareVo.setMesPrepareDetailList(mesPrepareDetailList); return AjaxResult.success(printPrepareVo); } @@ -131,6 +139,13 @@ public class MesPrepareDetailServiceImpl implements IMesPrepareDetailService { qodetail.setProductDateStr(productDate); qodetail.setRecoil("X"); List mesPrepareDetailList = mesPrepareDetailMapper.selectPreDetailHzList(qodetail); + mesPrepareDetailList = mesPrepareDetailList.stream() + .filter(dto ->!dto.getQuantity().equals("0.00")) + .collect(Collectors.toList()); + int i = 1; + for(MesPrepareDetail dto:mesPrepareDetailList){ + dto.setXh(i++); + } PrintPrepareVo printPrepareVo = new PrintPrepareVo(); printPrepareVo.setMesPrepare(mesPrepare); printPrepareVo.setMesPrepareDetailList(mesPrepareDetailList); 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 c35eb9f96..b560f3ab2 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 @@ -34,6 +34,7 @@ + @@ -126,6 +127,7 @@ diff --git a/op-modules/op-open/src/main/java/com/op/open/controller/OpenController.java b/op-modules/op-open/src/main/java/com/op/open/controller/OpenController.java index 97a431b33..5569f5710 100644 --- a/op-modules/op-open/src/main/java/com/op/open/controller/OpenController.java +++ b/op-modules/op-open/src/main/java/com/op/open/controller/OpenController.java @@ -10,6 +10,7 @@ import com.op.common.core.web.domain.AjaxResult; import com.op.common.datasource.creator.DynamicDatasourceCreator; import com.op.open.service.OpenService; import com.op.system.api.domain.DataSourcePropertyDTO; +import com.op.system.api.domain.device.EquEquipmentDTO; import com.op.system.api.domain.device.EquRepairOrderDTO; import com.op.system.api.domain.dto.WCSDTO; import com.op.system.api.domain.dto.WechartDTO; @@ -257,4 +258,13 @@ public class OpenController extends BaseController { public AjaxResult sendProductCheckNo(@RequestBody List dots) { return openService.sendProductCheckNo(dots); } + + //给oa提供的设备sap设备增加 + @PostMapping("/addEquSapInfo") + public AjaxResult addEquSapInfo(@RequestBody EquEquipmentDTO dto) { + if(StringUtils.isNotBlank(dto.getFactoryCode())){ + return error("[factoryCode] is null "); + } + return openService.addEquSapInfo(dto); + } } diff --git a/op-modules/op-open/src/main/java/com/op/open/mapper/OpenMapper.java b/op-modules/op-open/src/main/java/com/op/open/mapper/OpenMapper.java index e8d525290..6a3a98247 100644 --- a/op-modules/op-open/src/main/java/com/op/open/mapper/OpenMapper.java +++ b/op-modules/op-open/src/main/java/com/op/open/mapper/OpenMapper.java @@ -96,5 +96,9 @@ public interface OpenMapper { int updateProductNoBatchs(@Param("list") List updates); int addProductNoBatchs(@Param("list")List everyList); +// +// int updateEquBatchs(@Param("list") List updates); +// +// int addEquBatchs(@Param("list") List everyList); } diff --git a/op-modules/op-open/src/main/java/com/op/open/service/OpenService.java b/op-modules/op-open/src/main/java/com/op/open/service/OpenService.java index 8baf08324..2e7647557 100644 --- a/op-modules/op-open/src/main/java/com/op/open/service/OpenService.java +++ b/op-modules/op-open/src/main/java/com/op/open/service/OpenService.java @@ -1,6 +1,7 @@ package com.op.open.service; import com.op.common.core.web.domain.AjaxResult; +import com.op.system.api.domain.device.EquEquipmentDTO; import com.op.system.api.domain.device.EquRepairOrderDTO; import com.op.system.api.domain.dto.WCSDTO; import com.op.system.api.domain.dto.WechartDTO; @@ -43,4 +44,6 @@ public interface OpenService { AjaxResult getDeliveryNoteDetail(Map paramMap); AjaxResult sendProductCheckNo(List dots); + + AjaxResult addEquSapInfo(EquEquipmentDTO dto); } diff --git a/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java b/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java index b1f8ca104..0627c90b9 100644 --- a/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java +++ b/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java @@ -706,7 +706,72 @@ public class OpenServiceImpl implements OpenService { return error(e.getMessage()); } } - + @Override + public AjaxResult addEquSapInfo(EquEquipmentDTO dto) { +// try { +// logger.info("oa增加sap设备发送参数"+JSONObject.toJSONString(dto)); +// List dtos = dto.getDetails(); +// if(CollectionUtils.isEmpty(dtos)){ +// return error("oa增加sap设备发送参数为空"); +// } +// DynamicDataSourceContextHolder.push("ds_"+dtos.get(0).getFactoryCode()); +// Date nowDate = DateUtils.getNowDate(); +// String createBy = SecurityUtils.getUsername(); +// for(EquEquipmentDTO equ:dtos){ +// equ.setCreateBy(createBy); +// equ.setUpdateBy(createBy); +// equ.setCreateTime(nowDate); +// equ.setUpdateTime(nowDate); +// } +// +// +// //sap返回的sap设备编码 +// List codes = dtos.stream().map(EquEquipmentDTO::getSapCode).collect(Collectors.toList()); +// //sap返回的客户编码-本地已存在 +// List exsitCodes = openMapper.getExsitCodes(codes); +// //sap返回的产品编码-本地不存在// 差集 (list2 - list1) +// List noExsitCodes = codes.stream().filter(item -> !exsitCodes.contains(item)).collect(Collectors.toList()); +// +// List updates = new ArrayList<>(); +// for (String exsitCode : exsitCodes) { +// List updates0 = dtos.stream().filter(up -> up.getSapCode().equals(exsitCode)).collect(Collectors.toList()); +// updates.addAll(updates0); +// } +// if (!CollectionUtils.isEmpty(updates)) { +// int m = openMapper.updateEquBatchs(updates); +// System.out.println("oa更新设备成功条数:" + m); +// } +// List adds = new ArrayList<>(); +// for (String noExsitCode : noExsitCodes) { +// List adds0 = dtos.stream().filter(ad -> ad.getSapCode().equals(noExsitCode)).collect(Collectors.toList()); +// adds.addAll(adds0); +// } +// if (!CollectionUtils.isEmpty(adds)) { +// +// int allsize = adds.size(); +// int inserttimes = allsize / 100 + 1; +// for (int m = 0; m < inserttimes; m++) { +// List everyList; +// if (m < (inserttimes - 1)) { +// everyList = adds.subList(m * 100, (m + 1) * 100); +// } else { +// everyList = adds.subList(m * 100, allsize); +// } +// if (everyList.size() > 0) { +// openMapper.addEquBatchs(everyList); +// } +// } +// +// System.out.println("oa新增设备成功条数:" + allsize); +// } +// +// return success(); +// } catch (Exception e) { +// e.printStackTrace(); +// return error(e.getMessage()); +// } + return success(); + } protected Boolean oneMinHas(Date lastData){ if(lastData != null){ int year= Integer.parseInt(String.format("%tY", lastData)); diff --git a/op-modules/op-plan/src/main/java/com/op/plan/controller/ProOrderWorkorderController.java b/op-modules/op-plan/src/main/java/com/op/plan/controller/ProOrderWorkorderController.java index b97567057..ea57ee58c 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/controller/ProOrderWorkorderController.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/controller/ProOrderWorkorderController.java @@ -315,6 +315,12 @@ public class ProOrderWorkorderController extends BaseController { return proOrderWorkorderService.getIdCardList(proOrderWorkorder); } + /**获取标识卡-重置**/ + @PostMapping("/getIdCardListRefresh") + public List getIdCardListRefresh(@RequestBody ProOrderWorkorder proOrderWorkorder) { + return proOrderWorkorderService.getIdCardListRefresh(proOrderWorkorder); + } + //获取批次号 @GetMapping("/getBatchCode/{workorderId}") public List getBatchCode(@PathVariable("workorderId") String workorderId) { diff --git a/op-modules/op-plan/src/main/java/com/op/plan/service/IProOrderWorkorderService.java b/op-modules/op-plan/src/main/java/com/op/plan/service/IProOrderWorkorderService.java index 0b6c1d9b2..ab91ff9aa 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/service/IProOrderWorkorderService.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/service/IProOrderWorkorderService.java @@ -153,4 +153,6 @@ public interface IProOrderWorkorderService { List getIdCardList(ProOrderWorkorder proOrderWorkorder); List getBatchCode(String workorderId);//获取批次号 + + List getIdCardListRefresh(ProOrderWorkorder proOrderWorkorder); } diff --git a/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderServiceImpl.java b/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderServiceImpl.java index 938863718..d068bcff5 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderServiceImpl.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderServiceImpl.java @@ -762,6 +762,9 @@ public class ProOrderServiceImpl implements IProOrderService { @DS("#header.poolName") public List getProEquipment(String routeCode) { List level= proOrderMapper.getRouteProcess(routeCode); + if(CollectionUtils.isEmpty(level)){ + return null; + } List level2= proOrderMapper.getRouteProcessEquips(level); Map equipMap = new HashMap<>();//设备字典 if(!CollectionUtils.isEmpty(level2)){ diff --git a/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderWorkorderServiceImpl.java b/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderWorkorderServiceImpl.java index a1aa6eb2e..5863a6a73 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderWorkorderServiceImpl.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderWorkorderServiceImpl.java @@ -1269,20 +1269,21 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService { @DS("#header.poolName") public List getIdCardList(ProOrderWorkorder proOrderWorkorder) { List dtos = new ArrayList<>(); - //如果标识卡之前版本已经被用(attr1->1),则不生成新的 - ProOrderWorkorder oldVersion = proOrderWorkorderMapper.getOldVersionUsedInfo(proOrderWorkorder); +// //如果标识卡之前版本已经被用(attr1->1),则不生成新的 +// ProOrderWorkorder oldVersion = proOrderWorkorderMapper.getOldVersionUsedInfo(proOrderWorkorder); //清除之前的非补打的 List dtos0 = null; - if(proOrderWorkorder.getPalletNo()==null&&proOrderWorkorder.getAddFlag().equals("0")&&oldVersion==null) { - //不是增打和补打且还没用于入库 - proOrderWorkorderMapper.cleanCard(proOrderWorkorder); - } +// if((proOrderWorkorder.getPalletNo()==null&&proOrderWorkorder.getAddFlag().equals("0"))||oldVersion==null) { +// //不是增打和补打且还没用于入库 +// proOrderWorkorderMapper.cleanCard(proOrderWorkorder); +// } if(proOrderWorkorder.getAddFlag().equals("0")&&proOrderWorkorder.getPalletNo()==null){//非增打标志0 - if(oldVersion != null){ - dtos = proOrderWorkorderMapper.getPreIdCardListNow(proOrderWorkorder); - for(ProOrderWorkorder pow:dtos){ + List olddtos = proOrderWorkorderMapper.getPreIdCardListNow(proOrderWorkorder); + if(!CollectionUtils.isEmpty(olddtos)){ + for(ProOrderWorkorder pow:olddtos){ pow.setUmrez(pow.getBatchQuantity().multiply(pow.getUmrez()));//子单数量 } + dtos.addAll(olddtos); }else{ dtos0 = proOrderWorkorderMapper.getPreIdCardList(proOrderWorkorder); ProOrderWorkorder pw = null; @@ -1386,6 +1387,70 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService { return dtos; } + @Override + @DS("#header.poolName") + public List getIdCardListRefresh(ProOrderWorkorder proOrderWorkorder) { + List dtos = new ArrayList<>(); + //如果标识卡之前版本已经被用(attr1->1),则不生成新的 + //ProOrderWorkorder oldVersion = proOrderWorkorderMapper.getOldVersionUsedInfo(proOrderWorkorder); + //清除之前的非补打的 + List dtos0 = null; + //if(oldVersion==null) { + //重置 + proOrderWorkorderMapper.cleanCard(proOrderWorkorder); + //} + + dtos0 = proOrderWorkorderMapper.getPreIdCardList(proOrderWorkorder); + ProOrderWorkorder pw = null; + int i = 1; + Date nowDate = DateUtils.getNowDate(); + for(ProOrderWorkorder pow:dtos0){ + if(pow.getPalletNum()!=null){ + + BigDecimal pall = pow.getBatchQuantity(); + BigDecimal pn = pow.getPalletNum(); + + while(pall.compareTo(BigDecimal.ZERO)>0){ + pw = new ProOrderWorkorder(); + pw.setProductName(pow.getProductName()); + pw.setWorkorderCode(pow.getWorkorderCode()); + pw.setBatchCode(pow.getBatchCode()); + pw.setProductDateStr(pow.getProductDateStr()); + pw.setRecordId(IdUtils.fastSimpleUUID()); + if(pall.compareTo(pn)<0) {//最后一托盘 + pw.setBatchQuantity(pall); + }else{ + pw.setBatchQuantity(pn); + } + pw.setUnit(pow.getUnit()); + pw.setUmrez(pw.getBatchQuantity().multiply(pow.getUmrez()));//子单数量 + pw.setPalletNo(i++); + //批次+板号+物料+工单号 + pw.setPalletCode( + pow.getBatchCode() + "-" + + pw.getPalletNo() + "-" + + pow.getProductCode().replace("0000000","") + "-" + + pow.getWorkorderCode().replace("000","") + );//workorderCode 实际上是订单号 + pw.setCreateTime(nowDate); + pw.setCreateBy(SecurityUtils.getUsername()); + pw.setAddFlag("0");//增打标志 + dtos.add(pw); + pall = pall.subtract(pn); + } + } + } + if(!CollectionUtils.isEmpty(dtos)) {//不是增打和补打 + proOrderWorkorderMapper.addBatchPallet(dtos); + proOrderWorkorder.setProdType("1");//补打标识临时借用 + List dtosZ = proOrderWorkorderMapper.getPreIdCardListB(proOrderWorkorder);//增打 + if(!CollectionUtils.isEmpty(dtosZ)){ + dtos.addAll(dtosZ); + } + } + + return dtos; + } /** * 校验工单是否可以修改 diff --git a/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderMapper.xml b/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderMapper.xml index 288edfc72..d360464f4 100644 --- a/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderMapper.xml +++ b/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderMapper.xml @@ -719,7 +719,7 @@ where pow.workorder_code = #{workorderCode} and pow.del_flag = '0' and powb.del_flag = '0' and powbp.pallet_num = #{palletNo} and powbp.add_flag = #{prodType} - + and powbp.del_flag = '0' order by CAST(powbp.pallet_num AS INT),powb.batch_code @@ -885,7 +885,7 @@ from pro_order_workorder_batch_pallet powbp left join pro_order_workorder pow on powbp.workorder_code = pow.workorder_code_sap left join base_product bp on bp.product_code = pow.product_code - where pow.workorder_code = #{workorderCode} and pow.del_flag = '0' + where pow.workorder_code = #{workorderCode} and pow.del_flag = '0' and powbp.del_flag = '0' order by CAST(powbp.pallet_num AS INT) @@ -1027,9 +1027,9 @@ - delete from pro_order_workorder_batch_pallet where workorder_code in( + update pro_order_workorder_batch_pallet set del_flag = '1' where workorder_code in( select workorder_code_sap from pro_order_workorder where workorder_code = #{workorderCode} - ) and add_flag = '0' and attr1 != '1' + ) and add_flag = '0' and attr1 = '0' update qc_check_task set income_batch_no = #{newIncomeBatchNo} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckProjectController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckProjectController.java index b6b352f1e..4ef4c55a8 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckProjectController.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckProjectController.java @@ -41,7 +41,7 @@ public class QcCheckProjectController extends BaseController { /** * 查询检验项目维护列表 */ - @RequiresPermissions("quality:project:list") + //@RequiresPermissions("quality:project:list") @GetMapping("/list") public TableDataInfo list(QcCheckProject qcCheckProject) { startPage(); diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcProductCpkUpdownController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcProductCpkUpdownController.java new file mode 100644 index 000000000..0e8794c82 --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcProductCpkUpdownController.java @@ -0,0 +1,111 @@ +package com.op.quality.controller; + +import java.security.Security; +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import com.op.common.core.utils.DateUtils; +import com.op.common.core.utils.poi.ExcelUtil; +import com.op.common.core.utils.uuid.IdUtils; +import com.op.common.security.utils.SecurityUtils; +import com.op.quality.domain.QcProductCpkUpdown; +import com.op.quality.service.IQcProductCpkUpdownService; +import org.apache.catalina.security.SecurityUtil; +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.common.core.web.controller.BaseController; +import com.op.common.core.web.domain.AjaxResult; +import com.op.common.core.web.page.TableDataInfo; + +/** + * CPK上下限维护Controller + * + * @author Open Platform + * @date 2024-09-12 + */ +@RestController +@RequestMapping("/cpkUpdown") +public class QcProductCpkUpdownController extends BaseController { + @Autowired + private IQcProductCpkUpdownService qcProductCpkUpdownService; + +/** + * 查询CPK上下限维护列表 + */ + +@GetMapping("/list") + public TableDataInfo list(QcProductCpkUpdown qcProductCpkUpdown) { + startPage(); + List list = qcProductCpkUpdownService.selectQcProductCpkUpdownList(qcProductCpkUpdown); + return getDataTable(list); + } + + /** + * 导出CPK上下限维护列表 + */ + @Log(title = "CPK上下限维护", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, QcProductCpkUpdown qcProductCpkUpdown) { + List list = qcProductCpkUpdownService.selectQcProductCpkUpdownList(qcProductCpkUpdown); + ExcelUtil util = new ExcelUtil(QcProductCpkUpdown. class); + util.exportExcel(response, list, "CPK上下限维护数据"); + } + + /** + * 获取CPK上下限维护详细信息 + */ + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") String id) { + return success(qcProductCpkUpdownService.selectQcProductCpkUpdownById(id)); + } + + /** + * 新增CPK上下限维护 + */ + @RequiresPermissions("quality:cpkUpDowConfig:add") + @Log(title = "CPK上下限维护", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody QcProductCpkUpdown qcProductCpkUpdown) { + qcProductCpkUpdown.setId(IdUtils.fastSimpleUUID()); + qcProductCpkUpdown.setCreateBy(SecurityUtils.getUsername()); + qcProductCpkUpdown.setCreateTime(DateUtils.getNowDate()); + QcProductCpkUpdown exsit = qcProductCpkUpdownService.checkCpkUpdown(qcProductCpkUpdown); + if(exsit!=null){ + return AjaxResult.error("数据已存在"); + } + + return toAjax(qcProductCpkUpdownService.insertQcProductCpkUpdown(qcProductCpkUpdown)); + } + + /** + * 修改CPK上下限维护 + */ + @RequiresPermissions("quality:cpkUpDowConfig:edit") + @Log(title = "CPK上下限维护", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody QcProductCpkUpdown qcProductCpkUpdown) { + qcProductCpkUpdown.setUpdateBy(SecurityUtils.getUsername()); + qcProductCpkUpdown.setUpdateTime(DateUtils.getNowDate()); + return toAjax(qcProductCpkUpdownService.updateQcProductCpkUpdown(qcProductCpkUpdown)); + } + + /** + * 删除CPK上下限维护 + */ + @RequiresPermissions("quality:cpkUpDowConfig:remove") + @Log(title = "CPK上下限维护", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable String[] ids) { + return toAjax(qcProductCpkUpdownService.deleteQcProductCpkUpdownByIds(ids)); + } +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcStaticTableController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcStaticTableController.java index 91ef64502..763c53da4 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcStaticTableController.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcStaticTableController.java @@ -14,9 +14,7 @@ import javax.servlet.http.HttpServletResponse; import com.op.common.core.domain.ExcelCol; import com.op.common.core.utils.DateUtils; import com.op.common.core.utils.poi.ExcelMapUtil; -import com.op.quality.domain.QcCheckDetail; -import com.op.quality.domain.QcCheckProject; -import com.op.quality.domain.QcCheckType; +import com.op.quality.domain.*; import com.op.system.api.domain.quality.ChartDTO; import com.op.system.api.domain.quality.ChartSeriesDTO; import com.op.system.api.domain.quality.FactoryDto; @@ -35,7 +33,6 @@ 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.QcStaticTable; import com.op.quality.service.IQcStaticTableService; import com.op.common.core.web.controller.BaseController; import com.op.common.core.web.domain.AjaxResult; @@ -421,20 +418,53 @@ public class QcStaticTableController extends BaseController { return getDataTable(list); } - @PostMapping("/exportProduceAnalysis") - public void exportProduceAnalysis(HttpServletResponse response, QcStaticTable qcStaticTable) { - //默认时间范围T 00:00:00~T+1 00:00:00 - if (StringUtils.isEmpty(qcStaticTable.getYmArrayStart())) { - LocalDate date = LocalDate.now(); - DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd"); - String ymStr = dtf.format(date); - qcStaticTable.setYmArrayStart(ymStr); - qcStaticTable.setYmArrayEnd(ymStr); + @PostMapping("/exportCPK") + public void exportCPK(HttpServletResponse response, QcStaticTable qcStaticTable) { + QcStaticTable resultInfo = qcStaticTableService.getDLTableCPKInfo(qcStaticTable); + + //第一行标题 + List title1Cols = resultInfo.getTitleCol1(); + //第二行标题 + List title2Cols = resultInfo.getTitleCol2(); + String titleRow1 = String.join(",", title1Cols); + //表格结构数据 + ArrayList excelCols = new ArrayList<>(); + excelCols.add(new ExcelCol("日期", "ymdms", 30)); + List titleKeys = new ArrayList<>(); + for (int m = 0; m < title1Cols.size(); m++) { + for (int n = 0; n < title2Cols.size(); n++) { + excelCols.add(new ExcelCol(title2Cols.get(n), "mcode" + m + "Pcode" + n, 80)); + titleKeys.add("mcode" + m + "Pcode" + n); + } } - List list = qcStaticTableService.getQmsRateTable(qcStaticTable); - ExcelUtil util = new ExcelUtil(QcStaticTable.class); - util.exportExcel(response, list, "质检不良统计"); + //第三行开始数据 + List list = new ArrayList<>(); + //具体数据 + List dxData = resultInfo.getDxData(); + for (HashMap mapdto : dxData) { + list.add(mapdto); + } + + + String titleName = "定量检测项测量值CPK"; + SXSSFWorkbook workbook = null; + try { + //设置响应头 + response.setHeader("Content-disposition", + "attachment; filename=" + titleName); + response.setContentType("application/octet-stream;charset=UTF-8"); + ServletOutputStream outputStream = response.getOutputStream(); + //调用工具类 + workbook = ExcelMapUtil.initWorkbook(titleName, titleRow1, excelCols, list); + workbook.write(outputStream); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (workbook != null) { + workbook.dispose(); + } + } } /** diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QuaController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QuaController.java index 78e96367e..80f2bea3b 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/controller/QuaController.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QuaController.java @@ -154,7 +154,11 @@ public class QuaController extends BaseController { */ @GetMapping(value = "getCheckTaskList") public List getCheckTaskList(QcCheckTaskIncome qcCheckTaskIncome) { - + if("0".equals(qcCheckTaskIncome.getCheckStatus())){ + qcCheckTaskIncome.setDelFlag("0");//临时借用 + }else{ + qcCheckTaskIncome.setDelFlag("1"); + } if(StringUtils.isNotBlank(qcCheckTaskIncome.getCheckStatus())){ qcCheckTaskIncome.setCheckStatus("'"+ qcCheckTaskIncome.getCheckStatus().replace(",","','")+"'"); } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCPKDTO.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCPKDTO.java new file mode 100644 index 000000000..4f0a4e05f --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCPKDTO.java @@ -0,0 +1,71 @@ +package com.op.quality.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.op.common.core.annotation.Excel; +import com.op.common.core.web.domain.BaseEntity; +import com.op.system.api.domain.quality.ChartDTO; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.HashMap; +import java.util.List; + +/** + * 质量系统报对象 qc_static_table + * + * @author Open Platform + * @date 2024-09-10 + */ +public class QcCPKDTO{ + + @Excel(name = "检验节点") + private String checkType; + @Excel(name = "检验日期") + private String checkDate; + @Excel(name = "产品编码") + private String materialCode; + @Excel(name = "产品名称") + private String materialName; + @Excel(name = "CPK值") + private String cpkVal; + + public String getCheckType() { + return checkType; + } + + public void setCheckType(String checkType) { + this.checkType = checkType; + } + + public String getCheckDate() { + return checkDate; + } + + public void setCheckDate(String checkDate) { + this.checkDate = checkDate; + } + + public String getMaterialCode() { + return materialCode; + } + + public void setMaterialCode(String materialCode) { + this.materialCode = materialCode; + } + + public String getMaterialName() { + return materialName; + } + + public void setMaterialName(String materialName) { + this.materialName = materialName; + } + + public String getCpkVal() { + return cpkVal; + } + + public void setCpkVal(String cpkVal) { + this.cpkVal = cpkVal; + } +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckReportIncome.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckReportIncome.java index 8688afba9..28cd1eefe 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckReportIncome.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckReportIncome.java @@ -190,9 +190,17 @@ public class QcCheckReportIncome extends BaseEntity { private String standardNo; private String jgy; - + private String cxzz; private String pgy; + public String getCxzz() { + return cxzz; + } + + public void setCxzz(String cxzz) { + this.cxzz = cxzz; + } + public String getJgy() { return jgy; } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcProductCpkUpdown.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcProductCpkUpdown.java new file mode 100644 index 000000000..68cf6b283 --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcProductCpkUpdown.java @@ -0,0 +1,153 @@ +package com.op.quality.domain; + +import java.math.BigDecimal; +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_product_cpk_updown + * + * @author Open Platform + * @date 2024-09-12 + */ +public class QcProductCpkUpdown extends BaseEntity { +private static final long serialVersionUID=1L; + + /** id */ + private String id; + + /** 类型编码:material来料检验、produce生产检验、product成品检验 */ + @Excel(name = "类型编码:material来料检验、produce生产检验、product成品检验") + private String typeCode; + + /** 检验节点 */ + @Excel(name = "检验节点") + private String checkType; + + /** 工厂编码 */ + @Excel(name = "工厂编码") + private String factoryCode; + + /** 删除标识1删除0正常 */ + private String delFlag; + + /** 物料号 */ + @Excel(name = "物料号") + private String materialCode; + + /** 物料名称 */ + @Excel(name = "物料名称") + private String materialName; + + /** 上限 */ + @Excel(name = "上限") + private BigDecimal upVal; + + /** 下限 */ + @Excel(name = "下限") + private BigDecimal downVal; + + private String ruleCode; + private String ruleName; + + public String getRuleCode() { + return ruleCode; + } + + public void setRuleCode(String ruleCode) { + this.ruleCode = ruleCode; + } + + public String getRuleName() { + return ruleName; + } + + public void setRuleName(String ruleName) { + this.ruleName = ruleName; + } + + public void setId(String id){ + this.id = id; + } + + public String getId(){ + return id; + } + public void setTypeCode(String typeCode){ + this.typeCode = typeCode; + } + + public String getTypeCode(){ + return typeCode; + } + public void setCheckType(String checkType){ + this.checkType = checkType; + } + + public String getCheckType(){ + return checkType; + } + 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 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 setUpVal(BigDecimal upVal){ + this.upVal = upVal; + } + + public BigDecimal getUpVal(){ + return upVal; + } + public void setDownVal(BigDecimal downVal){ + this.downVal = downVal; + } + + public BigDecimal getDownVal(){ + return downVal; + } + +@Override +public String toString(){ + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id",getId()) + .append("typeCode",getTypeCode()) + .append("checkType",getCheckType()) + .append("createBy",getCreateBy()) + .append("createTime",getCreateTime()) + .append("updateBy",getUpdateBy()) + .append("updateTime",getUpdateTime()) + .append("factoryCode",getFactoryCode()) + .append("delFlag",getDelFlag()) + .append("materialCode",getMaterialCode()) + .append("materialName",getMaterialName()) + .append("upVal",getUpVal()) + .append("downVal",getDownVal()) + .toString(); + } + } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcProductCpkUpdownMapper.java b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcProductCpkUpdownMapper.java new file mode 100644 index 000000000..c56ad8bc9 --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcProductCpkUpdownMapper.java @@ -0,0 +1,64 @@ +package com.op.quality.mapper; + +import com.op.quality.domain.QcProductCpkUpdown; + +import java.util.List; + + +/** + * 检验节点维护Mapper接口 + * + * @author Open Platform + * @date 2024-09-12 + */ +public interface QcProductCpkUpdownMapper { + /** + * 查询检验节点维护 + * + * @param id 检验节点维护主键 + * @return 检验节点维护 + */ + public QcProductCpkUpdown selectQcProductCpkUpdownById(String id); + + /** + * 查询检验节点维护列表 + * + * @param qcProductCpkUpdown 检验节点维护 + * @return 检验节点维护集合 + */ + public List selectQcProductCpkUpdownList(QcProductCpkUpdown qcProductCpkUpdown); + + /** + * 新增检验节点维护 + * + * @param qcProductCpkUpdown 检验节点维护 + * @return 结果 + */ + public int insertQcProductCpkUpdown(QcProductCpkUpdown qcProductCpkUpdown); + + /** + * 修改检验节点维护 + * + * @param qcProductCpkUpdown 检验节点维护 + * @return 结果 + */ + public int updateQcProductCpkUpdown(QcProductCpkUpdown qcProductCpkUpdown); + + /** + * 删除检验节点维护 + * + * @param id 检验节点维护主键 + * @return 结果 + */ + public int deleteQcProductCpkUpdownById(String id); + + /** + * 批量删除检验节点维护 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteQcProductCpkUpdownByIds(String[] ids); + + QcProductCpkUpdown checkCpkUpdown(QcProductCpkUpdown qcProductCpkUpdown); +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcProductCpkUpdownService.java b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcProductCpkUpdownService.java new file mode 100644 index 000000000..d352c3473 --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcProductCpkUpdownService.java @@ -0,0 +1,64 @@ +package com.op.quality.service; + +import com.op.quality.domain.QcProductCpkUpdown; + +import java.util.List; + + +/** + * 检验节点维护Service接口 + * + * @author Open Platform + * @date 2024-09-12 + */ +public interface IQcProductCpkUpdownService { + /** + * 查询检验节点维护 + * + * @param id 检验节点维护主键 + * @return 检验节点维护 + */ + public QcProductCpkUpdown selectQcProductCpkUpdownById(String id); + + /** + * 查询检验节点维护列表 + * + * @param qcProductCpkUpdown 检验节点维护 + * @return 检验节点维护集合 + */ + public List selectQcProductCpkUpdownList(QcProductCpkUpdown qcProductCpkUpdown); + + /** + * 新增检验节点维护 + * + * @param qcProductCpkUpdown 检验节点维护 + * @return 结果 + */ + public int insertQcProductCpkUpdown(QcProductCpkUpdown qcProductCpkUpdown); + + /** + * 修改检验节点维护 + * + * @param qcProductCpkUpdown 检验节点维护 + * @return 结果 + */ + public int updateQcProductCpkUpdown(QcProductCpkUpdown qcProductCpkUpdown); + + /** + * 批量删除检验节点维护 + * + * @param ids 需要删除的检验节点维护主键集合 + * @return 结果 + */ + public int deleteQcProductCpkUpdownByIds(String[] ids); + + /** + * 删除检验节点维护信息 + * + * @param id 检验节点维护主键 + * @return 结果 + */ + public int deleteQcProductCpkUpdownById(String id); + + QcProductCpkUpdown checkCpkUpdown(QcProductCpkUpdown qcProductCpkUpdown); +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcProductCpkUpdownServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcProductCpkUpdownServiceImpl.java new file mode 100644 index 000000000..20233ec0d --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcProductCpkUpdownServiceImpl.java @@ -0,0 +1,104 @@ +package com.op.quality.service.impl; + +import java.util.List; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.op.common.core.utils.DateUtils; +import com.op.quality.domain.QcProductCpkUpdown; +import com.op.quality.mapper.QcProductCpkUpdownMapper; +import com.op.quality.service.IQcProductCpkUpdownService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + + +/** + * 检验节点维护Service业务层处理 + * + * @author Open Platform + * @date 2024-09-12 + */ +@Service +public class QcProductCpkUpdownServiceImpl implements IQcProductCpkUpdownService { + @Autowired + private QcProductCpkUpdownMapper qcProductCpkUpdownMapper; + + /** + * 查询检验节点维护 + * + * @param id 检验节点维护主键 + * @return 检验节点维护 + */ + @Override + @DS("#header.poolName") + public QcProductCpkUpdown selectQcProductCpkUpdownById(String id) { + return qcProductCpkUpdownMapper.selectQcProductCpkUpdownById(id); + } + + /** + * 查询检验节点维护列表 + * + * @param qcProductCpkUpdown 检验节点维护 + * @return 检验节点维护 + */ + @Override + @DS("#header.poolName") + public List selectQcProductCpkUpdownList(QcProductCpkUpdown qcProductCpkUpdown) { + return qcProductCpkUpdownMapper.selectQcProductCpkUpdownList(qcProductCpkUpdown); + } + + /** + * 新增检验节点维护 + * + * @param qcProductCpkUpdown 检验节点维护 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int insertQcProductCpkUpdown(QcProductCpkUpdown qcProductCpkUpdown) { + qcProductCpkUpdown.setCreateTime(DateUtils.getNowDate()); + return qcProductCpkUpdownMapper.insertQcProductCpkUpdown(qcProductCpkUpdown); + } + + /** + * 修改检验节点维护 + * + * @param qcProductCpkUpdown 检验节点维护 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int updateQcProductCpkUpdown(QcProductCpkUpdown qcProductCpkUpdown) { + qcProductCpkUpdown.setUpdateTime(DateUtils.getNowDate()); + return qcProductCpkUpdownMapper.updateQcProductCpkUpdown(qcProductCpkUpdown); + } + + /** + * 批量删除检验节点维护 + * + * @param ids 需要删除的检验节点维护主键 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int deleteQcProductCpkUpdownByIds(String[] ids) { + return qcProductCpkUpdownMapper.deleteQcProductCpkUpdownByIds(ids); + } + + /** + * 删除检验节点维护信息 + * + * @param id 检验节点维护主键 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int deleteQcProductCpkUpdownById(String id) { + return qcProductCpkUpdownMapper.deleteQcProductCpkUpdownById(id); + } + + @Override + @DS("#header.poolName") + public QcProductCpkUpdown checkCpkUpdown(QcProductCpkUpdown qcProductCpkUpdown) { + return qcProductCpkUpdownMapper.checkCpkUpdown(qcProductCpkUpdown); + } +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcStaticTableServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcStaticTableServiceImpl.java index 18ec97782..1989db289 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcStaticTableServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcStaticTableServiceImpl.java @@ -707,7 +707,11 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService { List avgArray = Arrays.asList(avgArrayStr.split(",")); BigDecimal addVal = new BigDecimal("0.00"); for (String avgVal : avgArray) { - addVal = addVal.add(new BigDecimal(avgVal)); + if(avgVal.matches(".*\\..*\\..*")){ + addVal = addVal.add(new BigDecimal(avgVal.substring(2))); + }else{ + addVal = addVal.add(new BigDecimal(avgVal)); + } } BigDecimal avg = addVal.divide(new BigDecimal(avgArray.size()), 2, BigDecimal.ROUND_HALF_UP); result.put("mcode" + m + "Pcode" + n, avg); @@ -764,6 +768,7 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService { if(qcStaticTable.getProjectNoArray()!=null){ qcStaticTable.setProjectNo(qcStaticTable.getProjectNoArray()[0]); QcStaticTable upandown = qcStaticTableMapper.getUpAndDown(qcStaticTable); + if(upandown!=null){ dto.setUpperDiff(upandown.getUpperDiff()); dto.setDownDiff(upandown.getDownDiff()); @@ -779,7 +784,7 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService { for (String day : days) { HashMap result = new HashMap(); - result.put("ymdms", day + " AVG"); + result.put("ymdms", day + " CPK"); int i = 0, j = 0; for (int m = 0; m < colCode1.size(); m++) { for (int n = 0; n < colCode2.size(); n++) { @@ -789,7 +794,15 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService { String avgArrayStr = avgdto.getQuality().replace("[", "") .replace("]", "") .replace("\"", ""); - List avgArray = Arrays.asList(avgArrayStr.split(",")); + List avgArray0 = Arrays.asList(avgArrayStr.split(",")); + List avgArray = new ArrayList<>(); + for(String avg:avgArray0){ + if(avg.matches(".*\\..*\\..*")){ + avgArray.add(avg.substring(2)); + }else{ + avgArray.add(avg); + } + } double[] data = avgArray.stream() .mapToDouble(Double::parseDouble) // 将String转换为double .toArray(); // 转换为double数组 ; @@ -847,6 +860,7 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService { } return Math.sqrt(temp / (data.length - 1)); } + @Override @DS("#header.poolName") public List getProjectList(String checkType) { @@ -1152,13 +1166,7 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService { } public static void main(String args[]){ - List months = new ArrayList<>(); - for (Month month : Month.values()) { - // 使用String.format来构造"yyyy-MM"格式的字符串 - // %d用于整数(年份和月份),但月份需要前面补0(使用%02d) - String formattedMonth = String.format("%d-%02d",2024, month.getValue()); - months.add(formattedMonth); - } - System.out.println(months); + String ymd = "1、0.4016"; + System.out.println(ymd.substring(2)); } } diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckReportIncomeMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckReportIncomeMapper.xml index fca4281c1..e93e66549 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckReportIncomeMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckReportIncomeMapper.xml @@ -40,7 +40,9 @@ - + + + @@ -97,8 +99,8 @@ qct.check_status, qct.check_man_code, qct.check_man_name, qct.check_time, qct.check_result, qct.status, qct.check_type, qct.attr1, qct.attr2, qct.attr3, qct.attr4, qct.create_by, qct.create_time, qct.update_by, qct.update_time, - qct.factory_code, qct.del_flag,qct.reason,qct.product_type,qct.order_type,qct.jgy,qct.pgy, - bp.mvgr5 standardNo + qct.factory_code, qct.del_flag,qct.reason,qct.product_type,qct.order_type,qct.jgy,qct.pgy,qct.cxzz, + ISNULL(bp.mvgr5, '成品蚊香【物料组】') standardNo from qc_check_task qct left join base_product bp on bp.product_code = qct.material_code where qct.record_id = #{recordId} diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskIncomeMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskIncomeMapper.xml index cbdf1c8d2..c4f7ac0da 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskIncomeMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskIncomeMapper.xml @@ -161,7 +161,7 @@ qctp.weight from qc_check_task_detail td left join qc_check_type_project qctp on td.type_project_id = qctp.id - left join lanju_op_cloud.dbo.sys_dict_data dic on dic.dict_value = td.unit_code and dic.status ='0' + left join lanju_op_cloud.dbo.sys_dict_data dic on dic.dict_value = td.unit_code and dic.status ='0' and dic.dict_type = 'unit' where td.belong_to = #{belongTo} and td.del_flag='0' and qctp.del_flag = '0' and td.rule_name is not null order by qctp.sort diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskInventoryMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskInventoryMapper.xml index 56de2728f..61be57141 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskInventoryMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskInventoryMapper.xml @@ -241,6 +241,7 @@ where CONVERT(varchar(10),create_time, 120) = CONVERT(varchar(10),GETDATE(), 120) + diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcProCheckMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcProCheckMapper.xml index 841240a6c..8e459a6e4 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcProCheckMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcProCheckMapper.xml @@ -275,11 +275,10 @@ and qct.check_type = #{checkType} and CONVERT(varchar(10),qct.check_time, 120) = #{checkTimeStart} and qctu.check_man_code = #{checkManCode} - and qct.check_status in (${checkStatus}) - and ( - - CONVERT(varchar(10),qct.create_time, 120) >= CONVERT(varchar(10),DATEADD(DAY, -1, GETDATE()), 120) - ) + and qct.check_status in (${checkStatus}) + + and (CONVERT(varchar(10),qct.create_time, 120) >= CONVERT(varchar(10),DATEADD(DAY, -1, GETDATE()), 120)) + order by qct.create_time desc diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcProductCpkUpdownMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcProductCpkUpdownMapper.xml new file mode 100644 index 000000000..d38098f5e --- /dev/null +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcProductCpkUpdownMapper.xml @@ -0,0 +1,152 @@ + + + + + + + + + + + + + + + + + + + + + + + + select id, type_code, check_type, create_by, create_time, update_by, update_time, + factory_code, del_flag, material_code, material_name, up_val, down_val, + rule_code,rule_name + from qc_product_cpk_updown + + + + + + + + + insert into qc_product_cpk_updown + + id, + type_code, + check_type, + create_by, + create_time, + update_by, + update_time, + factory_code, + del_flag, + material_code, + material_name, + up_val, + down_val, + rule_code, + rule_name, + + + #{id}, + #{typeCode}, + #{checkType}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + #{factoryCode}, + #{delFlag}, + #{materialCode}, + #{materialName}, + #{upVal}, + #{downVal}, + #{ruleCode}, + #{ruleName}, + + + + + update qc_product_cpk_updown + + type_code =#{typeCode}, + check_type = #{checkType}, + update_by =#{updateBy}, + update_time =#{updateTime}, + del_flag =#{delFlag}, + material_code =#{materialCode}, + material_name =#{materialName}, + up_val =#{upVal}, + down_val =#{downVal}, + rule_code =#{ruleCode}, + rule_name = #{ruleName}, + + where id = #{id} + + + + update qc_product_cpk_updown set del_flag = '1' where id = #{id} + + + + update qc_product_cpk_updown set del_flag = '1' where id in + + #{id} + + + 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 93955ca88..ffb59abdc 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 @@ -653,42 +653,140 @@ public class SapItemSyncImpl implements SapItemSyncService { @Override public R sap105temporarilyCollected(List mapList) { try { + Map map= mapList.get(0); JCoRepository repository = dest.getRepository(); - JCoFunction func = repository.getFunction("ZMES_103_MIGO"); + JCoFunction func = repository.getFunction("ZMES_GET_MSEG"); 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); + log.info("取物料凭证数据接口的参数-------" + mapList.toString()); + + JCoTable S_MBLNR = func.getTableParameterList().getTable("S_MBLNR"); + //交货单号 + JCoTable S_MJAHR = func.getTableParameterList().getTable("S_MJAHR"); + //销售凭证类型 + JCoTable S_MATNR = func.getTableParameterList().getTable("S_MATNR"); + // S_MBLNR.setValue("S_MBLNR", S_MBLNR); + S_MBLNR.appendRow(); + S_MBLNR.setValue(Constants.SIGN, "I"); + S_MBLNR.setValue(Constants.OPTION, "BT"); + S_MBLNR.setValue(Constants.LOW,map.get("S_MBLNR")); + S_MBLNR.setValue(Constants.HIGH,map.get("S_MBLNR")); + S_MJAHR.appendRow(); + S_MJAHR.setValue(Constants.SIGN, "I"); + S_MJAHR.setValue(Constants.OPTION, "BT"); + S_MJAHR.setValue(Constants.LOW,map.get("S_MJAHR")); + S_MJAHR.setValue(Constants.HIGH,map.get("S_MJAHR")); + S_MATNR.appendRow(); + S_MATNR.setValue(Constants.SIGN, "I"); + S_MATNR.setValue(Constants.OPTION, "BT"); + S_MATNR.setValue(Constants.LOW,map.get("S_MATNR")); + S_MATNR.setValue(Constants.HIGH,map.get("S_MATNR")); func.execute(dest);//执行调用函数 /** - * RETCODE CHAR3 返回值:200-没有错误,500-有错误 - * L_MSG CHAR220 返回消息文本 - * MATERIALDOCUMENT CHAR10 物料凭证编号 - * MATDOCUMENTYEAR NUMC4 物料凭证年度 + * MBLNR + * MJAHR + * ZEILE + * EBELN + * EBELP + * MATNR + * WERKS + * LGORT + * MENGE + * MEINS + * ERFMG + * ERFME + * BPMNG + * BPRME */ - 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); + JCoTable maraTable = func.getTableParameterList().getTable("LT_MSEG"); +// 首先检查表中是否有行 + if (maraTable.getNumRows() > 0) { + // 遍历每一行 + String mblnr = new String(); // 物料凭证编号 + String mjahr = new String(); // 物料凭证年度 + String zeile = new String(); // 物料凭证中的项目 + String ebeln = new String(); // 采购订单编号 + String ebelp = new String(); // 采购凭证的项目编号 + String matnr = new String(); // 物料号 + String werks = new String(); // 工厂 + String lgort = new String(); // 库存地点 + String menge = new String(); // 数量 + String meins = new String(); // 基本计量单位 + String erfmg = new String(); // 以输入单位计的数量 + String erfme = new String(); // 条目单位 + String bpmng = new String(); // 采购订单价格单位的数量 + String bprme = new String(); // 订单价格单位(采购) + String RETCODE= new String(); + String MESSAGE= new String(); + String MATERIALDOCUMENT = new String(); + String MATDOCUMENTYEAR= new String(); + for (int i = 0; i < maraTable.getNumRows(); i++) { + mblnr = maraTable.getString("MBLNR"); // 物料凭证编号 + mjahr = maraTable.getString("MJAHR"); // 物料凭证年度 + zeile = maraTable.getString("ZEILE"); // 物料凭证中的项目 + ebeln = maraTable.getString("EBELN"); // 采购订单编号 + matnr = maraTable.getString("MATNR"); // 物料号 + werks = maraTable.getString("WERKS"); // 工厂 + lgort = maraTable.getString("LGORT"); // 库存地点 + menge = maraTable.getString("MENGE"); // 数量 + meins = maraTable.getString("MEINS"); // 基本计量单位 + erfmg = maraTable.getString("ERFMG"); // 以输入单位计的数量 + erfme = maraTable.getString("ERFME"); // 条目单位 + bpmng = maraTable.getString("BPMNG"); // 采购订单价格单位的数量 + bprme = maraTable.getString("BPRME"); // 订单价格单位(采购) + + // 处理获取到的字段值 + System.out.println("物料凭证编号: " + mblnr); + System.out.println("物料凭证年度: " + mjahr); + System.out.println("物料凭证中的项目: " + zeile); + System.out.println("采购订单编号: " + ebeln); + System.out.println("采购凭证的项目编号: " + ebelp); + System.out.println("物料号: " + matnr); + System.out.println("工厂: " + werks); + System.out.println("库存地点: " + lgort); + System.out.println("数量: " + menge); + System.out.println("基本计量单位: " + meins); + System.out.println("以输入单位计的数量: " + erfmg); + System.out.println("条目单位: " + erfme); + System.out.println("采购订单价格单位的数量: " + bpmng); + System.out.println("订单价格单位(采购): " + bprme); + JCoFunction func2 = repository.getFunction("ZMES_105_MIGO"); + if (func2 == null) { + throw new RuntimeException("Function does not exist in SAP"); + } + log.info("105参数-------" + mapList.toString()); + JCoTable L_ITEM = func2.getTableParameterList().getTable("L_ITEM"); + L_ITEM.appendRow(); + L_ITEM.setValue("LFBNR",mblnr);//参考凭证的凭证号 + L_ITEM.setValue("LFPOS",zeile);//参考凭证项目 + L_ITEM.setValue("BSTNR", ebeln);//采购订单编号 + L_ITEM.setValue("EBELP",map.get("ebelp") );//采购凭证的项目编号 + L_ITEM.setValue("WERKS", werks);//工厂 + L_ITEM.setValue("LGORT", "0001");//库存地点 + L_ITEM.setValue("QUANTITY",menge);//数量 + L_ITEM.setValue("BATCH", map.get("incomeBatchNo"));//批号 + L_ITEM.setValue("HSDAT","");//生产日期 + System.out.println(L_ITEM); + func2.execute(dest);//执行调用函数 + RETCODE = func2.getExportParameterList().getString("RETCODE"); + MESSAGE = func2.getExportParameterList().getString("L_MSG"); + MATERIALDOCUMENT = func2.getExportParameterList().getString("MATERIALDOCUMENT"); + MATDOCUMENTYEAR = func2.getExportParameterList().getString("MATDOCUMENTYEAR"); + log.info("105结果结果-----" + 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); + } else { + // 表为空的处理 + System.out.println("表中没有数据。"); + return R.fail("没有暂收数据"); } - 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-system/src/main/java/com/op/system/service/impl/SysUserServiceImpl.java b/op-modules/op-system/src/main/java/com/op/system/service/impl/SysUserServiceImpl.java index c7e76bcd7..f452077fe 100644 --- a/op-modules/op-system/src/main/java/com/op/system/service/impl/SysUserServiceImpl.java +++ b/op-modules/op-system/src/main/java/com/op/system/service/impl/SysUserServiceImpl.java @@ -593,7 +593,7 @@ public class SysUserServiceImpl implements ISysUserService { } int n = 0; - //sap返回的供应商编码 + //sap返回的编码 List codes = dtos.stream().map(HRInfo::getUserName).collect(Collectors.toList()); //sap返回的工作中心编码-本地已存在 List exsitCodes = userMapper.getExsitCodes(codes); diff --git a/op-modules/op-system/src/main/resources/mapper/system/SysUserMapper.xml b/op-modules/op-system/src/main/resources/mapper/system/SysUserMapper.xml index 5ca38953c..8b1fd304c 100644 --- a/op-modules/op-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/op-modules/op-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -252,7 +252,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update_by = #{item.updateBy}, update_time = #{item.updateTime} where - user_name = #{item.userName} + user_name = #{item.userName} and del_flag = '0' @@ -285,7 +285,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select max(create_time) from sys_user where create_by = 'job' and del_flag = '0' @@ -82,6 +116,7 @@ and Active = #{Active} and Enterprise_Id = #{enterpriseId} and Enterprise_Code = #{enterpriseCode} + and pallet_num = #{palletNum} order by Create_Date desc @@ -90,7 +125,11 @@ where ID = #{ID} - + insert into ods_procure_order @@ -454,6 +493,82 @@ WHERE card.User_Defined1= #{userDefined1} + update ods_procure_order_card SET User_Defined10 = '1' diff --git a/op-modules/op-wms/src/main/resources/mapper/wms/OdsProcureOutOrderMapper.xml b/op-modules/op-wms/src/main/resources/mapper/wms/OdsProcureOutOrderMapper.xml index cfb012c20..60c54b156 100644 --- a/op-modules/op-wms/src/main/resources/mapper/wms/OdsProcureOutOrderMapper.xml +++ b/op-modules/op-wms/src/main/resources/mapper/wms/OdsProcureOutOrderMapper.xml @@ -41,6 +41,7 @@ + limit #{page.pageOffset} , #{page.rows} @@ -395,6 +396,8 @@ material_desc, unit, user_defined1, + user_defined2, + user_defined3, sn, amount, origin_location, @@ -409,6 +412,8 @@ #{materialDesc}, #{Unit}, #{userDefined1}, + #{userDefined2}, + #{userDefined3}, #{sn}, #{planNumber}, #{locCode}, @@ -435,6 +440,17 @@ #{item.ID} + + update wms_ods_procure_out_order + set User_Defined10 = #{order.userDefined10}, + User_Defined9 = #{order.userDefined9}, + User_Defined11 = #{order.userDefined11} + where ID in + + #{item.ID} + + + update ods_procure_out_order_fc set User_Defined10 = #{order.userDefined10}, @@ -686,4 +702,429 @@ factory_code, unit + + + + + + + + insert into wms_ods_procure_out_order + + Site_code, + ID, + Produce_Code, + Material_Code, + Material_Desc, + Plan_Date, + Plan_Number, + Unit, + Out_Number, + Loc_Code, + Loc_Desc, + Production_Line_Desc, + Production_Line_Code, + Order_Status, + User_Defined1, + User_Defined2, + User_Defined3, + User_Defined4, + User_Defined5, + User_Defined6, + User_Defined7, + User_Defined8, + User_Defined9, + User_Defined10, + User_Defined11, + Supplier_Code, + Supplier_Name, + Create_By, + Create_Date, + Last_Update_By, + Last_Update_Date, + Active, + Enterprise_Id, + Enterprise_Code, + + + #{siteCode}, + #{ID}, + #{produceCode}, + #{materialCode}, + #{materialDesc}, + #{planDate}, + #{planNumber}, + #{Unit}, + #{outNumber}, + #{locCode}, + #{locDesc}, + #{productionLineDesc}, + #{productionLineCode}, + #{orderStatus}, + #{userDefined1}, + #{userDefined2}, + #{userDefined3}, + #{userDefined4}, + #{userDefined5}, + #{userDefined6}, + #{userDefined7}, + #{userDefined8}, + #{userDefined9}, + #{userDefined10}, + #{userDefined11}, + #{supplierCode}, + #{supplierName}, + #{createBy}, + #{createDate}, + #{lastUpdateBy}, + #{lastUpdateDate}, + #{Active}, + #{enterpriseId}, + #{enterpriseCode}, + + + + + + + diff --git a/op-modules/op-wms/src/main/resources/mapper/wms/WmsFpStorageNewsMapper.xml b/op-modules/op-wms/src/main/resources/mapper/wms/WmsFpStorageNewsMapper.xml index 745e4c1ff..f93d5667b 100644 --- a/op-modules/op-wms/src/main/resources/mapper/wms/WmsFpStorageNewsMapper.xml +++ b/op-modules/op-wms/src/main/resources/mapper/wms/WmsFpStorageNewsMapper.xml @@ -41,7 +41,11 @@ - select storage_id, wh_code, region_code, wa_code, storage_type, wl_code, product_code, product_name, amount, storage_amount, occupy_amount, lpn, product_batch, receive_date, product_date, user_defined1, user_defined2, user_defined3, user_defined4, user_defined5, user_defined6, user_defined7, user_defined8, user_defined9, user_defined10, create_by, gmt_create, last_modified_by, gmt_modified, active_flag, factory_code, sap_factory_code, wl_name from wms_fp_storage_news + select storage_id, wh_code, region_code, wa_code, storage_type, wl_code, product_code, product_name, amount, + storage_amount, occupy_amount, lpn, product_batch, receive_date, product_date, user_defined1, + user_defined2, user_defined3, user_defined4, user_defined5, user_defined6, user_defined7, + user_defined8, user_defined9, user_defined10, create_by, gmt_create, last_modified_by, + gmt_modified, active_flag, factory_code, sap_factory_code, wl_name from wms_fp_storage_news + + + + + SELECT + storage_id, + wh_code, + region_code, + wa_code, + storage_type, + wl_code, + CASE + + WHEN product_code = '0' THEN + '0' -- 单独的'0' + ELSE STUFF( product_code, 1, PATINDEX( '%[^0]%', product_code ) - 1, '' ) + END AS product_code, + product_name, + amount, + storage_amount, + occupy_amount, + lpn, + product_batch, + receive_date, + product_date, + user_defined1, + user_defined2, + user_defined3, + user_defined4, + user_defined5, + user_defined6, + user_defined7, + user_defined8, + user_defined9, + user_defined10, + create_by, + gmt_create, + last_modified_by, + gmt_modified, + active_flag, + factory_code, + sap_factory_code, + wl_name + FROM + wms_fp_storage_news + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + update wms_ods_mate_storage_news + set storage_amount = ISNULL(storage_amount, 0) - #{storageAmount}, + gmt_modified=GETDATE() + where wh_code=#{whCode} and wl_code=#{wlCode} and wa_code=#{waCode} and material_code=#{materialCode} + diff --git a/op-modules/op-wms/src/main/resources/mapper/wms/WmsOdsMateStorageNewsSnMapper.xml b/op-modules/op-wms/src/main/resources/mapper/wms/WmsOdsMateStorageNewsSnMapper.xml index 554e028b5..bf2a85d01 100644 --- a/op-modules/op-wms/src/main/resources/mapper/wms/WmsOdsMateStorageNewsSnMapper.xml +++ b/op-modules/op-wms/src/main/resources/mapper/wms/WmsOdsMateStorageNewsSnMapper.xml @@ -79,7 +79,11 @@ where mate_order_in_sn_id = #{mateOrderInSnId} - + insert into wms_ods_mate_storage_news_sn @@ -201,10 +205,20 @@ update wms_ods_mate_storage_news - set amount = ISNULL(amount, 0) - #{amount}, + set occupy_amount =ISNULL(occupy_amount, 0) + #{amount}, + last_modified_by=#{lastModifiedBy}, gmt_modified=GETDATE() - where wh_code=#{whCode} and wl_code=#{wlCode} and material_code=#{materialCode} - + where wh_code=#{whCode} and wa_code=#{waCode} and wl_code=#{wlCode} and material_code=#{materialCode} + + + update wms_ods_mate_storage_news + set occupy_amount =ISNULL(occupy_amount, 0) - #{amount}, + amount = ISNULL(amount, 0) - #{amount}, + last_modified_by=#{lastModifiedBy}, + gmt_modified=GETDATE() + where wh_code=#{userDefined2} and wa_code=#{waCode} and wl_code=#{userDefined3} and material_code=#{materialCode} + + + + + update wms_ods_mate_storage_news_sn + set out_number = ISNULL(out_number, 0) + #{outNumber}, + last_modified_by = #{lastModifiedBy}, + gmt_modified=GETDATE() + where mate_order_in_sn_id = #{mateOrderInSnId} + + 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 acf0b6e7d..69b3fc30d 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 @@ -294,7 +294,6 @@ wms_product_put LEFT JOIN pro_order_workorder ON pro_order_workorder.order_code=wms_product_put.product_order WHERE wms_product_put.id = #{id} - AND wms_product_put.status= '1' AND wms_product_put.SAP_status IN ( 0, 2 ) @@ -469,4 +468,53 @@ SET attr1 = '1' where pallet_code = #{palletCode} + + + UPDATE wms_product_put + SET status = '1' + WHERE + AND status != '1' + AND id = #{id} + + diff --git a/op-modules/op-wms/src/main/resources/mapper/wms/WmsRawOrderInMapper.xml b/op-modules/op-wms/src/main/resources/mapper/wms/WmsRawOrderInMapper.xml index 8401b5be2..d7d8cd8e3 100644 --- a/op-modules/op-wms/src/main/resources/mapper/wms/WmsRawOrderInMapper.xml +++ b/op-modules/op-wms/src/main/resources/mapper/wms/WmsRawOrderInMapper.xml @@ -57,6 +57,7 @@ + @@ -76,8 +77,10 @@ and po_no = #{poNo} and po_line = #{poLine} and po_type = #{poType} - and material_code = #{materialCode} - and material_desc = #{materialDesc} + and material_code like concat('%', #{materialCode}, + '%') + and material_desc like concat('%', #{materialDesc}, + '%') and unit = #{unit} and buyer_group = #{buyerGroup} and supply_code = #{supplyCode} @@ -122,13 +125,75 @@ and gmt_modified = #{gmtModified} and active_flag = #{activeFlag} + ORDER BY gmt_create DESC + insert into wms_raw_order_in @@ -349,4 +414,13 @@ and relat_status = '1' +