diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/controller/iostorInv/IStivtlostorivnCpOutController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/controller/iostorInv/IStivtlostorivnCpOutController.java index 0a309f31..13f6779b 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/controller/iostorInv/IStivtlostorivnCpOutController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/controller/iostorInv/IStivtlostorivnCpOutController.java @@ -109,5 +109,13 @@ public class IStivtlostorivnCpOutController { return new ResponseEntity<>(iStIvtIostorinvCpOutService.getStructIvt(whereJson),HttpStatus.OK); } + @PostMapping("/manualDiv") + @Log("手工分配保存") + @ApiOperation("手工分配保存") + public ResponseEntity manualDiv(@RequestBody JSONObject whereJson){ + iStIvtIostorinvCpOutService.manualDiv(whereJson); + return new ResponseEntity<>(HttpStatus.OK); + } + } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvCpOutService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvCpOutService.java index 128642f2..271c2b8f 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvCpOutService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvCpOutService.java @@ -131,4 +131,14 @@ public interface IStIvtIostorinvCpOutService extends IService * } */ List getStructIvt(JSONObject whereJson); + + /** + * 手工分配保存 + * @param whereJson + * { + * rows:库存, + * iostorinvdtl_id:明细id, + * } + */ + void manualDiv(JSONObject whereJson); } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvCpOutServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvCpOutServiceImpl.java index 5c654ac1..c00e555f 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvCpOutServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvCpOutServiceImpl.java @@ -59,6 +59,7 @@ import java.util.Date; import java.util.List; import java.util.Map; import java.util.function.Consumer; +import java.util.stream.Collectors; /** *

@@ -478,11 +479,59 @@ public class StIvtIostorinvCpOutServiceImpl extends ServiceImpl ivtDaoList = new ArrayList<>(); + + for (int i = 0; i < rows.size(); i++) { + JSONObject jsonObject = rows.getJSONObject(i); + StIvtStructivtCp ivtDao = iStIvtStructivtCpService.getById(jsonObject.getString("stockrecord_id")); + ivtDao.setCanuse_qty(jsonObject.getBigDecimal("plan_qty")); + + ivtDaoList.add(ivtDao); + } + + // 2.插入分配表 + StIvtIostorinvdtlCp dtlDao = iostorinvdtlCpService.getById(whereJson.getString("iostorinvdtl_id")); + iostorinvdisCpService.onductDataOutDis(ivtDaoList,dtlDao); + + // 3.更新明细状态 + BigDecimal assign_qty = ivtDaoList.stream() + .map(StIvtStructivtCp::getCanuse_qty) + .reduce(BigDecimal.ZERO, BigDecimal::add); // 已分配数量 + + BigDecimal unassign_qty = NumberUtil.sub(dtlDao.getUnassign_qty(), assign_qty); // 未分配重量 + + if (unassign_qty.doubleValue() != 0) { + dtlDao.setBill_status(IOSEnum.BILL_STATUS.code("分配中")); + } else { + dtlDao.setBill_status(IOSEnum.BILL_STATUS.code("分配完")); + } + + dtlDao.setUnassign_qty(unassign_qty); + dtlDao.setAssign_qty(assign_qty); + iostorinvdtlCpService.updateById(dtlDao); + + // 4.更新库存冻结数 、 锁定仓位 + StIvtIostorinvCp mstDao = this.getById(dtlDao.getIostorinv_id()); + updateIvtDiv(ivtDaoList,mstDao); + + // 5.更新主表 + updateMst(mstDao.getIostorinv_id()); + } + @NotNull private StIvtIostorinvCp packageMstForm(StIvtIostorinvCp stIvtIostorinvCp,JSONObject whereJson,Boolean isUpdate) { JSONArray rows = whereJson.getJSONArray("tableData"); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/structIvt/IStIvtStructivtCpService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/structIvt/IStIvtStructivtCpService.java index ebf08d46..be7c8a0c 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/structIvt/IStIvtStructivtCpService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/structIvt/IStIvtStructivtCpService.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import org.nl.wms.storage_manage.productmanage.service.structIvt.dao.StIvtStructivtCp; import java.util.List; +import java.util.Map; /** *

@@ -46,5 +47,5 @@ public interface IStIvtStructivtCpService extends IService { * 明细row * } */ - List getStructIvt(JSONObject whereJson); + List getStructIvt(JSONObject whereJson); } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/structIvt/dao/mapper/StIvtStructivtCpMapper.xml b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/structIvt/dao/mapper/StIvtStructivtCpMapper.xml index 2d9b2b6d..1beb3a2b 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/structIvt/dao/mapper/StIvtStructivtCpMapper.xml +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/structIvt/dao/mapper/StIvtStructivtCpMapper.xml @@ -28,10 +28,18 @@ diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/structIvt/impl/StIvtStructivtCpServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/structIvt/impl/StIvtStructivtCpServiceImpl.java index 715225b4..a83a57b4 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/structIvt/impl/StIvtStructivtCpServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/structIvt/impl/StIvtStructivtCpServiceImpl.java @@ -23,6 +23,7 @@ import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; +import java.util.Map; /** *

@@ -87,7 +88,7 @@ public class StIvtStructivtCpServiceImpl extends ServiceImpl getStructIvt(JSONObject whereJson) { return baseMapper.getStructIvt(whereJson); } diff --git a/mes/qd/src/views/wms/storage_manage/product/productOut/DivDialog.vue b/mes/qd/src/views/wms/storage_manage/product/productOut/DivDialog.vue index 1b2f1a70..8b7e169a 100644 --- a/mes/qd/src/views/wms/storage_manage/product/productOut/DivDialog.vue +++ b/mes/qd/src/views/wms/storage_manage/product/productOut/DivDialog.vue @@ -212,7 +212,7 @@ - + @@ -334,7 +334,12 @@ export default { this.currentRow.remark = '' this.currentRow.stor_id = this.storId + this.currentRow.assign_qty = 0 productOut.getStructIvt(this.currentRow).then(res => { + res.forEach(item => { + item.edit = false + }) + this.openParam = res this.structshow = true this.openRow = this.currentRow @@ -361,6 +366,10 @@ export default { handleDisCurrentChange(current) { this.currentDis = current }, + closeDiv() { + this.queryTableDtl() + this.crud.notify('操作成功!', CRUD.NOTIFICATION_TYPE.SUCCESS) + }, queryTableDtl() { productOut.getIosInvDtl({ 'iostorinv_id': this.mstrow.iostorinv_id }).then(res => { this.tableDtl = res diff --git a/mes/qd/src/views/wms/storage_manage/product/productOut/StructIvt.vue b/mes/qd/src/views/wms/storage_manage/product/productOut/StructIvt.vue index cba1e677..88033482 100644 --- a/mes/qd/src/views/wms/storage_manage/product/productOut/StructIvt.vue +++ b/mes/qd/src/views/wms/storage_manage/product/productOut/StructIvt.vue @@ -52,7 +52,7 @@ - +