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 9a0d2518..574fdb06 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 @@ -307,6 +307,40 @@ public class WmsToWCSmissionController { return AjaxResult.success(wmsProductPutService.ScanCodeSingleBox(wmsProductPutTrayCode)); } + + + /** + * 成品销售退货--查询接口 + * + */ + @PostMapping("/FinishedProductSalesReturn") + public AjaxResult FinishedProductSalesReturn(@RequestBody WmsRuturnPutEmbryo wmsRuturnPutEmbryo) { + return AjaxResult.success(wmsProductPutService.FinishedProductSalesReturn(wmsRuturnPutEmbryo)); + } + + /** + * 成品销售退货--确认接口 + * + */ + @PostMapping("/FinishedProductSalesReturnConfirm") + public AjaxResult FinishedProductSalesReturnConfirm(@RequestBody WmsRuturnPutEmbryo wmsRuturnPutEmbryo) { + return AjaxResult.success(wmsProductPutService.FinishedProductSalesReturnConfirm(wmsRuturnPutEmbryo)); + } + + + + /** + * 成品调拨出库--查询接口 + * + */ + @PostMapping("/selectFinishedProductTransferAndOutbound") + public AjaxResult selectFinishedProductTransferAndOutbound(@RequestBody WmsRuturnPutEmbryo wmsRuturnPutEmbryo) { + return AjaxResult.success(wmsProductPutService.FinishedProductSalesReturnConfirm(wmsRuturnPutEmbryo)); + } + + + + /** * 手持白胚入库查询 */ diff --git a/op-modules/op-wms/src/main/java/com/op/wms/domain/OdsProcureOutOrder.java b/op-modules/op-wms/src/main/java/com/op/wms/domain/OdsProcureOutOrder.java index 95b2a3e3..e4075efc 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/domain/OdsProcureOutOrder.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/domain/OdsProcureOutOrder.java @@ -71,6 +71,19 @@ public class OdsProcureOutOrder extends BaseEntity { */ @Excel(name = "型号编码") private String materialCode; + /** + * 型号编码--用于展示 + */ + @Excel(name = "型号编码") + private String materialCodeKEN; + + public String getMaterialCodeKEN() { + return materialCodeKEN; + } + + public void setMaterialCodeKEN(String materialCodeKEN) { + this.materialCodeKEN = materialCodeKEN; + } /** * 型号名称 diff --git a/op-modules/op-wms/src/main/java/com/op/wms/domain/WmsRuturnPutEmbryo.java b/op-modules/op-wms/src/main/java/com/op/wms/domain/WmsRuturnPutEmbryo.java new file mode 100644 index 00000000..91ee6a85 --- /dev/null +++ b/op-modules/op-wms/src/main/java/com/op/wms/domain/WmsRuturnPutEmbryo.java @@ -0,0 +1,469 @@ +package com.op.wms.domain; + +import com.op.common.core.annotation.Excel; +import com.op.common.core.web.domain.BaseEntity; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** + * 成品销售退货对象 + */ +public class WmsRuturnPutEmbryo extends BaseEntity { + private static final long serialVersionUID = 1L; + /** + * ID + */ + private String id; + /** + * 工厂编码 + */ + @Excel(name = "工厂编码") + private String factoryCode; + /** + *退货单 + */ + @Excel(name = "退货单") + private String productOrder; + + /** + *仓库编码 + */ + @Excel(name = "仓库编码") + private String whCode; + + /** + *库区编码 + */ + @Excel(name = "库区编码") + private String waCode; + + /** + *库位编码 + */ + @Excel(name = "库位编码") + private String wlCode; + + /** + *产品名称 + */ + @Excel(name = "产品名称") + private String productName; + + + /** + *产品编码 + */ + @Excel(name = "产品编码") + private String productCode; + /** + *产品分类 + */ + @Excel(name = "产品分类") + private String productSort; + /** + *规格型号 + */ + @Excel(name = "规格型号") + private String speciFication; + /** + *单位 + */ + @Excel(name = "单位") + private String unitOfMeasure; + /** + *计划入库数量 + */ + @Excel(name = "计划入库数量") + private BigDecimal planQuantity; + /** + *入库数量 + */ + @Excel(name = "入库数量") + private BigDecimal putQuantity; + /** + *入库状态 + */ + @Excel(name = "入库状态") + private String status; + /** + *过账SAP状态 + */ + @Excel(name = "过账SAP状态") + private String sapStatus; + /** + *过账SAP凭证 + */ + @Excel(name = "过账SAP凭证") + private String sapProof; + /** + *过账sap返回信息 + */ + @Excel(name = "过账sap返回信息") + private String sapMessage; + /** + *入库时间 + */ + @Excel(name = "入库时间") + private Date putDate; + /** + *预留字段1 + */ + @Excel(name = "预留字段1") + private String attr1; + + /** + *预留字段2 + */ + @Excel(name = "预留字段2") + private String attr2; + + + /** + *预留字段3 + */ + @Excel(name = "预留字段3") + private String attr3; + + /** + *预留字段4 + */ + @Excel(name = "预留字段4") + private String attr4; + /** + *预留字段5 + */ + @Excel(name = "预留字段5") + private String attr5; + /** + *预留字段6 + */ + @Excel(name = "预留字段6") + private String attr6; + /** + *预留字段7 + */ + @Excel(name = "预留字段7") + private String attr7; + /** + *预留字段8 + */ + @Excel(name = "预留字段8") + private String attr8; + + /** + *预留字段9 + */ + @Excel(name = "预留字段9") + private String attr9; + /** + *预留字段10 + */ + @Excel(name = "预留字段10") + private String attr10; + /** + *创建人 + */ + @Excel(name = "创建人") + private String createBy; + /** + *创建时间 + */ + @Excel(name = "创建时间") + private Date createTime; + + /** + *修改人 + */ + @Excel(name = "修改人") + private String updateBy; + + /** + *修改时间 + */ + @Excel(name = "修改时间") + private Date updateTime; + List wmsProductPut; + private String activeFlag; + + public String getActiveFlag() { + return activeFlag; + } + + public void setActiveFlag(String activeFlag) { + this.activeFlag = activeFlag; + } + + public List getWmsProductPut() { + return wmsProductPut; + } + + public void setWmsProductPut(List wmsProductPut) { + this.wmsProductPut = wmsProductPut; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFactoryCode() { + return factoryCode; + } + + public void setFactoryCode(String factoryCode) { + this.factoryCode = factoryCode; + } + + public String getProductOrder() { + return productOrder; + } + + public void setProductOrder(String productOrder) { + this.productOrder = productOrder; + } + + public String getWhCode() { + return whCode; + } + + public void setWhCode(String whCode) { + this.whCode = whCode; + } + + public String getWaCode() { + return waCode; + } + + public void setWaCode(String waCode) { + this.waCode = waCode; + } + + public String getWlCode() { + return wlCode; + } + + public void setWlCode(String wlCode) { + this.wlCode = wlCode; + } + + public String getProductName() { + return productName; + } + + public void setProductName(String productName) { + this.productName = productName; + } + + public String getProductCode() { + return productCode; + } + + public void setProductCode(String productCode) { + this.productCode = productCode; + } + + public String getProductSort() { + return productSort; + } + + public void setProductSort(String productSort) { + this.productSort = productSort; + } + + public String getSpeciFication() { + return speciFication; + } + + public void setSpeciFication(String speciFication) { + this.speciFication = speciFication; + } + + public String getUnitOfMeasure() { + return unitOfMeasure; + } + + public void setUnitOfMeasure(String unitOfMeasure) { + this.unitOfMeasure = unitOfMeasure; + } + + public BigDecimal getPlanQuantity() { + return planQuantity; + } + + public void setPlanQuantity(BigDecimal planQuantity) { + this.planQuantity = planQuantity; + } + + public BigDecimal getPutQuantity() { + return putQuantity; + } + + public void setPutQuantity(BigDecimal putQuantity) { + this.putQuantity = putQuantity; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getSapStatus() { + return sapStatus; + } + + public void setSapStatus(String sapStatus) { + this.sapStatus = sapStatus; + } + + public String getSapProof() { + return sapProof; + } + + public void setSapProof(String sapProof) { + this.sapProof = sapProof; + } + + public String getSapMessage() { + return sapMessage; + } + + public void setSapMessage(String sapMessage) { + this.sapMessage = sapMessage; + } + + public Date getPutDate() { + return putDate; + } + + public void setPutDate(Date putDate) { + this.putDate = putDate; + } + + public String getAttr1() { + return attr1; + } + + public void setAttr1(String attr1) { + this.attr1 = attr1; + } + + public String getAttr2() { + return attr2; + } + + public void setAttr2(String attr2) { + this.attr2 = attr2; + } + + public String getAttr3() { + return attr3; + } + + public void setAttr3(String attr3) { + this.attr3 = attr3; + } + + public String getAttr4() { + return attr4; + } + + public void setAttr4(String attr4) { + this.attr4 = attr4; + } + + public String getAttr5() { + return attr5; + } + + public void setAttr5(String attr5) { + this.attr5 = attr5; + } + + public String getAttr6() { + return attr6; + } + + public void setAttr6(String attr6) { + this.attr6 = attr6; + } + + public String getAttr7() { + return attr7; + } + + public void setAttr7(String attr7) { + this.attr7 = attr7; + } + + public String getAttr8() { + return attr8; + } + + public void setAttr8(String attr8) { + this.attr8 = attr8; + } + + public String getAttr9() { + return attr9; + } + + public void setAttr9(String attr9) { + this.attr9 = attr9; + } + + public String getAttr10() { + return attr10; + } + + public void setAttr10(String attr10) { + this.attr10 = attr10; + } + + @Override + public String getCreateBy() { + return createBy; + } + + @Override + public void setCreateBy(String createBy) { + this.createBy = createBy; + } + + @Override + public Date getCreateTime() { + return createTime; + } + + @Override + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + @Override + public String getUpdateBy() { + return updateBy; + } + + @Override + public void setUpdateBy(String updateBy) { + this.updateBy = updateBy; + } + + @Override + public Date getUpdateTime() { + return updateTime; + } + + @Override + public void setUpdateTime(Date updateTime) { + this.updateTime = updateTime; + } +} diff --git a/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsRuturnPutEmbryoMapper.java b/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsRuturnPutEmbryoMapper.java new file mode 100644 index 00000000..022034ba --- /dev/null +++ b/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsRuturnPutEmbryoMapper.java @@ -0,0 +1,17 @@ +package com.op.wms.mapper; + +import com.op.wms.domain.WmsRuturnPutEmbryo; + +import java.util.List; + +public interface WmsRuturnPutEmbryoMapper { + + + List selectWmsRuturnPutEmbryo(WmsRuturnPutEmbryo wmsRuturnPutEmbryo); + + void updateWmsRuturnPutEmbryo(WmsRuturnPutEmbryo wmsRuturnPutEmbryo1); + + WmsRuturnPutEmbryo selectWmsRuturnPutEmbryoByid(WmsRuturnPutEmbryo wmsRuturnPutEmbryo1); + + void insertWmsRuturnPutEmbryoMapperRecords(WmsRuturnPutEmbryo wmsProductPutRecords); +} diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/IWmsProductPutService.java b/op-modules/op-wms/src/main/java/com/op/wms/service/IWmsProductPutService.java index 80786812..e7dafba1 100644 --- a/op-modules/op-wms/src/main/java/com/op/wms/service/IWmsProductPutService.java +++ b/op-modules/op-wms/src/main/java/com/op/wms/service/IWmsProductPutService.java @@ -108,4 +108,13 @@ public interface IWmsProductPutService { * */ List< WmsSellOutEmbryo> selectQueryFinishedProductSales(WmsSellOutEmbryo wmsSellOutEmbryo); + + List< WmsRuturnPutEmbryo> FinishedProductSalesReturn(WmsRuturnPutEmbryo wmsRuturnPutEmbryo); + + /** + * 成品销售退货- + * @param wmsRuturnPutEmbryo + * @return + */ + String FinishedProductSalesReturnConfirm(WmsRuturnPutEmbryo wmsRuturnPutEmbryo); } 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 015878ea..4dc5f959 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 @@ -61,6 +61,8 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService { private WmsProductPutTrayCodeMapper wmsProductPutTrayCodeMapper; @Autowired private WmsSellOutEmbryoMapper wmsSellOutEmbryoMapper; + @Autowired + private WmsRuturnPutEmbryoMapper wmsRuturnPutEmbryoMapper; /** * 查询成品生产入库 @@ -787,4 +789,98 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService { List wmsSellOutEmbryoList= wmsSellOutEmbryoMapper.selectWmsSellOutEmbryoList(wmsSellOutEmbryo); return wmsSellOutEmbryoList; } + + @Override + public List FinishedProductSalesReturn(WmsRuturnPutEmbryo wmsRuturnPutEmbryo) { + DynamicDataSourceContextHolder.push("ds_" + wmsRuturnPutEmbryo.getFactoryCode()); + List wmsRuturnPutEmbryoList= wmsRuturnPutEmbryoMapper.selectWmsRuturnPutEmbryo(wmsRuturnPutEmbryo); + return wmsRuturnPutEmbryoList; + } + + @Override + public String FinishedProductSalesReturnConfirm(WmsRuturnPutEmbryo wmsRuturnPutEmbryo) { + DynamicDataSourceContextHolder.push("ds_" + wmsRuturnPutEmbryo.getFactoryCode()); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); + Date date = new Date(); + String formattedDate = dateFormat.format(date);//批次 + List wmsProductPutList = wmsRuturnPutEmbryo.getWmsProductPut(); + WmsRuturnPutEmbryo wmsRuturnPutEmbryo1 = new WmsRuturnPutEmbryo(); + //wms_product_put + wmsRuturnPutEmbryo1.setId(wmsRuturnPutEmbryo.getId()); + //先查询一下,看看这次是不是可以出完 + WmsRuturnPutEmbryo wmsRuturnPutEmbryo2= wmsRuturnPutEmbryoMapper.selectWmsRuturnPutEmbryoByid(wmsRuturnPutEmbryo1); + BigDecimal allTem= wmsRuturnPutEmbryo2.getPlanQuantity(); + BigDecimal putTem= wmsRuturnPutEmbryo2.getPutQuantity(); + BigDecimal putQuantity= putTem.add(new BigDecimal(wmsProductPutList.size())); + int result = putQuantity.compareTo(allTem); + if (result == 0) { + wmsRuturnPutEmbryo2.setStatus("1");//0是未完成,1是完成 + } + wmsRuturnPutEmbryo2.setPutQuantity(putQuantity); + wmsRuturnPutEmbryo2.setUpdateBy(wmsRuturnPutEmbryo.getCreateBy()); + wmsRuturnPutEmbryo2.setUpdateTime(new Date()); + wmsRuturnPutEmbryoMapper.updateWmsRuturnPutEmbryo(wmsRuturnPutEmbryo2); + + String SUCCESS = "操作成功"; + for (WmsProductPut wmsProductPut1 : + wmsProductPutList) { + WmsRuturnPutEmbryo wmsProductPutRecords = new WmsRuturnPutEmbryo(); + wmsProductPutRecords.setId(IdUtils.fastSimpleUUID()); + wmsProductPutRecords.setProductOrder(wmsRuturnPutEmbryo.getProductOrder()); + wmsProductPutRecords.setProductName(wmsRuturnPutEmbryo.getProductName()); + wmsProductPutRecords.setProductCode(wmsRuturnPutEmbryo.getProductCode()); + wmsProductPutRecords.setWhCode(wmsRuturnPutEmbryo.getWhCode());//仓库编码 + + wmsProductPutRecords.setWlCode(wmsProductPut1.getWlCode());//库位编码 + wmsProductPutRecords.setAttr1(wmsProductPut1.getSn());////托盘号编码 + wmsProductPutRecords.setAttr2(wmsProductPut1.getNumber());//箱数 + wmsProductPutRecords.setCreateBy(wmsRuturnPutEmbryo.getCreateBy()); + wmsProductPutRecords.setCreateTime(new Date()); + wmsProductPutRecords.setActiveFlag("1"); + wmsRuturnPutEmbryoMapper.insertWmsRuturnPutEmbryoMapperRecords(wmsProductPutRecords); + //wms_fp_storage_news_sn + WmsFpStorageNewsSn wmsFpStorageNewsSn = new WmsFpStorageNewsSn(); + wmsFpStorageNewsSn.setStorageId(IdUtils.fastSimpleUUID()); + wmsFpStorageNewsSn.setFactoryCode(wmsRuturnPutEmbryo.getFactoryCode()); + wmsFpStorageNewsSn.setWhCode(wmsRuturnPutEmbryo.getWhCode());//仓库编码 + wmsFpStorageNewsSn.setWlCode(wmsProductPut1.getWlCode()); + wmsFpStorageNewsSn.setOrderNo(wmsRuturnPutEmbryo2.getId()); + wmsFpStorageNewsSn.setProductCode(wmsRuturnPutEmbryo.getProductCode()); + wmsFpStorageNewsSn.setProductName(wmsRuturnPutEmbryo.getProductName()); + wmsFpStorageNewsSn.setSn(wmsProductPut1.getSn()); + wmsFpStorageNewsSn.setAmount(new BigDecimal(wmsProductPut1.getNumber())); + //wmsFpStorageNewsSn.setBatchNumber(wmsProductPut.getBatchNumber()); + wmsFpStorageNewsSn.setUserDefined2(formattedDate); + wmsFpStorageNewsSn.setCreateBy(wmsRuturnPutEmbryo.getCreateBy()); + wmsFpStorageNewsSn.setCreateTime(new Date()); + wmsFpStorageNewsSn.setActiveFlag("1"); + wmsFpStorageNewsSnMapper.insertWmsFpStorageNewsSn(wmsFpStorageNewsSn); +// wms_fp_storage_news + WmsFpStorageNews wmsFpStorageNews = new WmsFpStorageNews(); + + wmsFpStorageNews.setWhCode(wmsRuturnPutEmbryo.getWhCode());//仓库编码 + wmsFpStorageNews.setWlCode(wmsProductPut1.getWlCode()); + wmsFpStorageNews.setStorageType("成品"); + wmsFpStorageNews.setProductCode(wmsRuturnPutEmbryo.getProductCode()); + wmsFpStorageNews.setProductName(wmsRuturnPutEmbryo.getProductName()); + wmsFpStorageNews.setFactoryCode(wmsRuturnPutEmbryo.getFactoryCode()); + wmsFpStorageNews.setActiveFlag("1"); + wmsFpStorageNews.setUserDefined1(wmsRuturnPutEmbryo.getUnitOfMeasure()); + List wmsFpStorageNewsList = wmsFpStorageNewsMapper.selectWmsFpStorageNewsList(wmsFpStorageNews); + wmsFpStorageNews.setStorageId(IdUtils.fastSimpleUUID()); + wmsFpStorageNews.setAmount(new BigDecimal(wmsProductPut1.getNumber())); + wmsFpStorageNews.setCreateBy(wmsRuturnPutEmbryo.getCreateBy()); + wmsFpStorageNews.setCreateTime(new Date()); + if (wmsFpStorageNewsList.size() > 0) { + WmsFpStorageNews wmsFpStorageNews1 = wmsFpStorageNewsList.get(0); + BigDecimal amount = wmsFpStorageNews1.getAmount(); + BigDecimal amountAdd = amount.add(wmsFpStorageNews.getAmount()); + wmsFpStorageNews1.setAmount(amountAdd); + wmsFpStorageNewsMapper.updateWmsFpStorageNews(wmsFpStorageNews1); + } else { + wmsFpStorageNewsMapper.insertWmsFpStorageNews(wmsFpStorageNews); + } + } + return SUCCESS; + } } diff --git a/op-modules/op-wms/src/main/resources/mapper/wms/WmsRuturnPutEmbryoMapper.xml b/op-modules/op-wms/src/main/resources/mapper/wms/WmsRuturnPutEmbryoMapper.xml new file mode 100644 index 00000000..563a3eb6 --- /dev/null +++ b/op-modules/op-wms/src/main/resources/mapper/wms/WmsRuturnPutEmbryoMapper.xml @@ -0,0 +1,224 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + update wms_ruturn_put_embryo + + wh_code = #{whCode}, + wa_code = #{waCode}, + wl_code = #{wlCode}, + product_order = #{productOrder}, + product_code = #{productCode}, + product_name = #{productName}, + plan_quantity = #{planQuantity}, + put_quantity = #{putQuantity}, + status = #{status}, + attr1 = #{attr1}, + attr2 = #{attr2}, + attr3 = #{attr3}, + attr4 = #{attr4}, + attr5 = #{attr5}, + attr6 = #{attr6}, + attr7 = #{attr7}, + attr8 = #{attr8}, + attr9 = #{attr9}, + attr10 = #{attr10}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + factory_code = #{factoryCode}, + + where id=#{id} + + + insert into wms_ruturn_put_embryo_record + + id, + factory_code, + product_order, + wh_code, + wa_code, + wl_code, + product_name, + product_code, + product_sort, + specification, + unit_of_measure, + plan_quantity, + put_quantity, + status, + SAP_status, + SAP_proof, + SAP_message, + put_date, + attr1, + attr2, + attr3, + attr4, + attr5, + attr6, + attr7, + attr8, + attr9, + attr10, + create_by, + create_time, + update_by, + update_time, + active_flag, + + + #{id}, + #{factoryCode}, + #{productOrder}, + #{whCode}, + #{waCode}, + #{wlCode}, + #{productName}, + #{productCode}, + #{productSort}, + #{specification}, + #{unitOfMeasure}, + #{planQuantity}, + #{putQuantity}, + #{status}, + #{SAPStatus}, + #{SAPProof}, + #{SAPMessage}, + #{putDate}, + #{attr1}, + #{attr2}, + #{attr3}, + #{attr4}, + #{attr5}, + #{attr6}, + #{attr7}, + #{attr8}, + #{attr9}, + #{attr10}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + #{activeFlag}, + + +