diff --git a/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsFpStorageNewsSnController.java b/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsFpStorageNewsSnController.java index 84b0b5384..b3ef08e18 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsFpStorageNewsSnController.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsFpStorageNewsSnController.java @@ -3,6 +3,7 @@ package com.op.wms.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; +import com.op.wms.domain.ProOrderWorkorder; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -105,4 +106,17 @@ public class WmsFpStorageNewsSnController extends BaseController { public AjaxResult remove(@PathVariable String[] storageIds) { return toAjax(wmsFpStorageNewsSnService.deleteWmsFpStorageNewsSnByStorageIds(storageIds)); } + //用于临时生成之前的库存的标识卡: + @PostMapping("/BSKlist") + public TableDataInfo BSKlist(@RequestBody WmsFpStorageNewsSn wmsFpStorageNewsSn) { + startPage(); + List proOrderWorkorderList= wmsFpStorageNewsSnService.BSKlist(wmsFpStorageNewsSn); + return getDataTable(proOrderWorkorderList); + } + //用于临时生成之前的库存的标识卡: + @PostMapping("/BSK") + public List BSK(@RequestBody ProOrderWorkorder proOrderWorkorder) { + List proOrderWorkorderList= wmsFpStorageNewsSnService.insertBSK(proOrderWorkorder); + return proOrderWorkorderList; + } } 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 7b90d76d9..e0c50ebbb 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 @@ -773,5 +773,13 @@ public class WmsToWCSmissionController { List list = baseAreaService.selectBaseAreaListSC(baseArea); return success(list); } + /** + * 根据库区查询仓库 + */ + @PostMapping("/listTableCK") + public AjaxResult listTableCK(@RequestBody BaseArea baseArea) { + List list = baseAreaService.listTableCK(baseArea); + return success(list); + } } diff --git a/op-modules/op-wms/src/main/java/com/op/wms/domain/ProOrderWorkorder.java b/op-modules/op-wms/src/main/java/com/op/wms/domain/ProOrderWorkorder.java index 7f3a0e5f2..fd46a2b83 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/domain/ProOrderWorkorder.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/domain/ProOrderWorkorder.java @@ -6,6 +6,7 @@ import com.op.common.core.web.domain.TreeEntity; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; +import java.math.BigDecimal; import java.util.Date; import java.util.List; @@ -188,6 +189,15 @@ public class ProOrderWorkorder extends TreeEntity { private String attribute1 ; private String attribute2; private String attribute3; + private String waCode; + + public String getWaCode() { + return waCode; + } + + public void setWaCode(String waCode) { + this.waCode = waCode; + } public String getAttribute1() { return attribute1; @@ -289,6 +299,69 @@ public class ProOrderWorkorder extends TreeEntity { private String bucketName; private String batchCode; private String batchId; + private String productDateStr; + private String recordId; + private BigDecimal batchQuantity; + private BigDecimal umrez; + private Integer palletNo; + private String palletCode; + private String addFlag; + + public String getAddFlag() { + return addFlag; + } + + public void setAddFlag(String addFlag) { + this.addFlag = addFlag; + } + + public String getPalletCode() { + return palletCode; + } + + public void setPalletCode(String palletCode) { + this.palletCode = palletCode; + } + + public Integer getPalletNo() { + return palletNo; + } + + public void setPalletNo(Integer palletNo) { + this.palletNo = palletNo; + } + + public BigDecimal getUmrez() { + return umrez; + } + + public void setUmrez(BigDecimal umrez) { + this.umrez = umrez; + } + + public BigDecimal getBatchQuantity() { + return batchQuantity; + } + + public void setBatchQuantity(BigDecimal batchQuantity) { + this.batchQuantity = batchQuantity; + } + + public String getRecordId() { + return recordId; + } + + public void setRecordId(String recordId) { + this.recordId = recordId; + } + + public String getProductDateStr() { + return productDateStr; + } + + public void setProductDateStr(String productDateStr) { + this.productDateStr = productDateStr; + } public String getBatchCode() { return batchCode; diff --git a/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsFpStorageNewsSnMapper.java b/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsFpStorageNewsSnMapper.java index aa4ae031a..32d512d25 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsFpStorageNewsSnMapper.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsFpStorageNewsSnMapper.java @@ -2,6 +2,7 @@ package com.op.wms.mapper; import java.util.List; +import com.op.wms.domain.ProOrderWorkorder; import com.op.wms.domain.WmsFpStorageNewsSn; import org.apache.ibatis.annotations.Param; @@ -77,7 +78,15 @@ public interface WmsFpStorageNewsSnMapper { */ public WmsFpStorageNewsSn selectWmsFpStorageNewsSnBySnAndProductCode(@Param("sn") String sn, @Param("productCode") String productCode); - void updateWmsFpStorageNewsSnOut(WmsFpStorageNewsSn wmsFpStorageNewsSn); + public void updateWmsFpStorageNewsSnOut(WmsFpStorageNewsSn wmsFpStorageNewsSn); - String selectwmsFpStorageNews(WmsFpStorageNewsSn wmsFpStorageNewsSn1); + public String selectwmsFpStorageNews(WmsFpStorageNewsSn wmsFpStorageNewsSn1); + + public WmsFpStorageNewsSn selectBSKId(ProOrderWorkorder proOrderWorkorder); + + public List selectBSKIdlist(ProOrderWorkorder proOrderWorkorder); + + public void addBatchPallet(@Param("list")List dtos); + + public List selectBSKList(WmsFpStorageNewsSn proOrderWorkorder); } diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/IBaseAreaService.java b/op-modules/op-wms/src/main/java/com/op/wms/service/IBaseAreaService.java index 2bfa3e826..efc32c938 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/service/IBaseAreaService.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/service/IBaseAreaService.java @@ -3,6 +3,7 @@ package com.op.wms.service; import java.util.List; import com.op.wms.domain.BaseArea; +import com.op.wms.domain.BaseWarehouse; /** * 库区Service接口 @@ -64,4 +65,6 @@ public interface IBaseAreaService { boolean checkAreaDescUnique(BaseArea baseArea); List selectBaseAreaListSC(BaseArea baseArea); + + List listTableCK(BaseArea baseArea); } diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/IWmsFpStorageNewsSnService.java b/op-modules/op-wms/src/main/java/com/op/wms/service/IWmsFpStorageNewsSnService.java index ff1de4d48..3f6a13f7b 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/service/IWmsFpStorageNewsSnService.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/service/IWmsFpStorageNewsSnService.java @@ -2,6 +2,7 @@ package com.op.wms.service; import java.util.List; +import com.op.wms.domain.ProOrderWorkorder; import com.op.wms.domain.WmsFpStorageNewsSn; /** @@ -61,4 +62,8 @@ public interface IWmsFpStorageNewsSnService { List selectWmsFpStorageNewsSnListunt(WmsFpStorageNewsSn wmsFpStorageNewsSn); + + List insertBSK(ProOrderWorkorder proOrderWorkorder); + + List BSKlist(WmsFpStorageNewsSn proOrderWorkorder); } diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/BaseAreaServiceImpl.java b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/BaseAreaServiceImpl.java index 8ac8d34df..43abf5277 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/BaseAreaServiceImpl.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/BaseAreaServiceImpl.java @@ -6,6 +6,7 @@ import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder; import com.op.common.core.utils.DateUtils; import com.op.common.security.utils.SecurityUtils; +import com.op.wms.domain.BaseWarehouse; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.op.wms.mapper.BaseAreaMapper; @@ -140,4 +141,10 @@ public class BaseAreaServiceImpl implements IBaseAreaService { return baseAreaMapper.selectBaseAreaList(baseArea); } + @Override + public List listTableCK(BaseArea baseArea) { + DynamicDataSourceContextHolder.push("ds_" + baseArea.getFactoryCode()); + return null; + } + } diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsFpStorageNewsSnServiceImpl.java b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsFpStorageNewsSnServiceImpl.java index 5cdc73923..aff23d2ee 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsFpStorageNewsSnServiceImpl.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsFpStorageNewsSnServiceImpl.java @@ -1,8 +1,17 @@ package com.op.wms.service.impl; +import java.math.BigDecimal; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; import java.util.List; import com.baomidou.dynamic.datasource.annotation.DS; +import com.op.common.core.utils.DateUtils; +import com.op.common.core.utils.uuid.IdUtils; +import com.op.common.security.utils.SecurityUtils; +import com.op.wms.domain.OdsProcureOrder; +import com.op.wms.domain.ProOrderWorkorder; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.op.wms.mapper.WmsFpStorageNewsSnMapper; @@ -103,4 +112,80 @@ public class WmsFpStorageNewsSnServiceImpl implements IWmsFpStorageNewsSnService } return wmsFpStorageNewsSnList; } + + @Override + @DS("#header.poolName") + public List insertBSK(ProOrderWorkorder proOrderWorkorder) { + WmsFpStorageNewsSn wmsFpStorageNewsSnBSK= wmsFpStorageNewsSnMapper.selectBSKId(proOrderWorkorder); + List dtos = new ArrayList<>(); + //wmsFpStorageNewsSnBSK 物料,批次,版次(版次用不到),订单没有就自动生成随机数,生产日期根据批次号生成, + // CAR数量,每盘数量,pc数量,生成的标识卡插入一个临时的新表里面 + //u4用来保存id,用来检验是否打印过 + List dtos0= wmsFpStorageNewsSnMapper.selectBSKIdlist(proOrderWorkorder); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); + Date date = new Date(); + String formattedDate = dateFormat.format(date); + if(dtos0.size()==0){ + //说明没生成过标识卡 + ProOrderWorkorder pw = new ProOrderWorkorder(); + int i = 1; + String palletNum = wmsFpStorageNewsSnBSK.getUserDefined2(); + Date nowDate = DateUtils.getNowDate(); + if(palletNum!=null){ + BigDecimal pall = wmsFpStorageNewsSnBSK.getAmount(); + BigDecimal pn = new BigDecimal(palletNum); + while(pall.compareTo(BigDecimal.ZERO)>0){ + pw = new ProOrderWorkorder(); + pw.setProductName(wmsFpStorageNewsSnBSK.getProductName());//ProductName + pw.setProductCode(wmsFpStorageNewsSnBSK.getProductCode()); + pw.setWorkorderCode("RK"+formattedDate);//OrderNo + pw.setBatchCode(wmsFpStorageNewsSnBSK.getBatchNumber());//BatchNumber + pw.setProductDateStr(wmsFpStorageNewsSnBSK.getUserDefined4());//u5 + pw.setWaCode(wmsFpStorageNewsSnBSK.getWaCode()); + // pw.setRecordId(IdUtils.fastSimpleUUID()); + if(pall.compareTo(pn)<0) {//最后一托盘 + pw.setBatchQuantity(pall); + }else{ + pw.setBatchQuantity(pn);//Amount + } + pw.setUnit("CAR");//u6 + pw.setUmrez(pw.getBatchQuantity().multiply(new BigDecimal(wmsFpStorageNewsSnBSK.getUserDefined10())));//子单数量 u9 + pw.setPalletNo(i++);//u7 + pw.setPalletCode(wmsFpStorageNewsSnBSK.getProductCode() + "-" +pw.getWorkorderCode() + "-" + + wmsFpStorageNewsSnBSK.getBatchNumber() + "-" + pw.getPalletNo());//workorderCode 实际上是订单号 U8 + pw.setCreateTime(nowDate); + pw.setCreateBy(SecurityUtils.getUsername()); + + pw.setAttr4(wmsFpStorageNewsSnBSK.getStorageId());//u4 + pw.setWorkorderId(IdUtils.fastSimpleUUID());//id + dtos.add(pw); + pall = pall.subtract(pn); + } + wmsFpStorageNewsSnMapper.addBatchPallet(dtos); + } + }else { + for (WmsFpStorageNewsSn wmsFpStorageNewsSn:dtos0){ + ProOrderWorkorder pw = new ProOrderWorkorder(); + pw.setProductName(wmsFpStorageNewsSn.getProductName()); + pw.setWorkorderCode(wmsFpStorageNewsSn.getOrderNo()); + pw.setBatchCode(wmsFpStorageNewsSn.getBatchNumber()); + pw.setProductDateStr(wmsFpStorageNewsSn.getUserDefined5());//生产日期 + pw.setBatchQuantity(wmsFpStorageNewsSn.getAmount()); + pw.setUnit(wmsFpStorageNewsSn.getUserDefined6()); + pw.setUmrez(new BigDecimal(wmsFpStorageNewsSn.getUserDefined9()));//子单数量 + pw.setPalletNo(Integer.parseInt(wmsFpStorageNewsSn.getUserDefined7())); + pw.setPalletCode(wmsFpStorageNewsSn.getUserDefined8());//workorderCode 实际上是订单号 + pw.setCreateTime(new Date()); + pw.setCreateBy(SecurityUtils.getUsername()); + dtos.add(pw); + } + } + return dtos; + } + + @Override + @DS("#header.poolName") + public List BSKlist(WmsFpStorageNewsSn proOrderWorkorder) { + return wmsFpStorageNewsSnMapper.selectBSKList(proOrderWorkorder); + } } diff --git a/op-modules/op-wms/src/main/resources/mapper/wms/WmsFpStorageNewsSnMapper.xml b/op-modules/op-wms/src/main/resources/mapper/wms/WmsFpStorageNewsSnMapper.xml index 3d4aebe32..7f1e79958 100644 --- a/op-modules/op-wms/src/main/resources/mapper/wms/WmsFpStorageNewsSnMapper.xml +++ b/op-modules/op-wms/src/main/resources/mapper/wms/WmsFpStorageNewsSnMapper.xml @@ -71,6 +71,68 @@ + + select DISTINCT user_defined1 from wms_fp_storage_news where product_code=#{productCode} and active_flag='1' + + + + + + + + insert into wms_fp_storage_news_sn_copy1_copy1 + + + storage_id, + wa_code, + order_no, + product_name, + product_code, + sn, + amount, + batch_number, + user_defined4, + user_defined5, + user_defined6, + user_defined7, + user_defined8, + user_defined9, + create_by, + gmt_create, + factory_code, + + + + #{dto.workorderId}, + #{dto.waCode}, + #{dto.workorderCode}, + #{dto.productName}, + #{dto.productCode}, + #{dto.sn}, + #{dto.batchQuantity}, + #{dto.batchCode}, + #{dto.attr4}, + #{dto.productDateStr}, + #{dto.unit}, + #{dto.palletNo}, + #{dto.palletCode}, + #{dto.umrez}, + #{dto.createBy}, + #{dto.createTime}, + #{dto.factoryCode}, + + + +