diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/basedata/service/record/dao/StIvtStructivtflow.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/basedata/service/record/dao/StIvtStructivtflow.java index 2029478f..0a241ce4 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/basedata/service/record/dao/StIvtStructivtflow.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/basedata/service/record/dao/StIvtStructivtflow.java @@ -45,12 +45,7 @@ public class StIvtStructivtflow implements Serializable { /** * 物料标识 */ - private String material_code; - - /** - * 物料规格 - */ - private String material_spec; + private String material_id; /** * 批次 @@ -79,7 +74,7 @@ public class StIvtStructivtflow implements Serializable { /** * 单据类型 */ - private String bill_type; + private String bill_type_scode; /** * 单据标识 @@ -104,17 +99,17 @@ public class StIvtStructivtflow implements Serializable { /** * 变动时间 */ - private Date create_time; + private String change_time; /** * 变动人 */ - private String create_id; + private String change_person_id; /** * 变动人姓名 */ - private String create_name; + private String change_person_name; /** * 变动数 diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/basedata/service/record/service/IStIvtStructivtflowService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/basedata/service/record/service/IStIvtStructivtflowService.java index 7c56dbaf..ffcef334 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/basedata/service/record/service/IStIvtStructivtflowService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/basedata/service/record/service/IStIvtStructivtflowService.java @@ -1,5 +1,6 @@ package org.nl.wms.storage_manage.basedata.service.record.service; +import com.alibaba.fastjson.JSONObject; import org.nl.wms.storage_manage.basedata.service.record.dao.StIvtStructivtflow; import com.baomidou.mybatisplus.extension.service.IService; import org.nl.wms.storage_manage.basedata.service.record.dto.StIvtStructivtflowDto; @@ -15,4 +16,6 @@ import org.nl.wms.storage_manage.basedata.service.record.dto.StIvtStructivtflowD public interface IStIvtStructivtflowService extends IService { void recordStructivtFlow(StIvtStructivtflowDto flowDto); + + void insetIvtChange(JSONObject json); } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/basedata/service/record/service/impl/StIvtStructivtflowServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/basedata/service/record/service/impl/StIvtStructivtflowServiceImpl.java index d7fc06c8..51c07b9a 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/basedata/service/record/service/impl/StIvtStructivtflowServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/basedata/service/record/service/impl/StIvtStructivtflowServiceImpl.java @@ -1,5 +1,7 @@ package org.nl.wms.storage_manage.basedata.service.record.service.impl; +import cn.hutool.core.date.DateUtil; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import org.nl.common.utils.IdUtil; import org.nl.common.utils.SecurityUtils; @@ -13,6 +15,7 @@ import org.nl.wms.storage_manage.basedata.service.record.service.IStIvtStructivt import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.nl.wms.masterdata_manage.storage.service.storage.IStIvtStructattrService; import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtStructattr; +import org.nl.wms.storage_manage.productmanage.service.structIvt.dao.StIvtStructivtflowCp; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -34,6 +37,8 @@ public class StIvtStructivtflowServiceImpl extends ServiceImpl().eq("material_id", flowDto.getMaterial_id())); - flow.setMaterial_code(material.getMaterial_code()); - flow.setMaterial_spec(material.getMaterial_spec()); flow.setPcsn(flowDto.getPcsn()); } 仓库信息:{ @@ -58,9 +61,6 @@ public class StIvtStructivtflowServiceImpl extends ServiceImpl row.getIostorinvdtl_id().equals(dao.getIostorinvdtl_id())) .findAny().get(); - iStIvtStructivtCpService.UpdateIvt(ivtDataParam(dao,ChangeIvtUtil.SUBFROZEN_SUBIVT_QTY,dtlDao.getBase_billdtl_id())); + + JSONObject param = ivtDataParam(dao, ChangeIvtUtil.SUBFROZEN_SUBIVT_QTY, dtlDao.getBase_billdtl_id()); + param.put("bill_code",mstDao.getBill_code()); + param.put("inv_id",mstDao.getIostorinv_id()); + param.put("bill_type_scode",mstDao.getBill_type()); + iStIvtStructivtCpService.UpdateIvt(param); // 3)解锁起点 / 将此托盘上的库存全部出掉 unLockNext(dao.getStruct_id()); @@ -826,6 +831,9 @@ public class StIvtIostorinvCpOutServiceImpl extends ServiceImpl list : collect.values()) { BigDecimal qty = list @@ -574,7 +578,11 @@ public class StIvtIostorinvCpServiceImpl extends ServiceImpl page = PageHelper.startPage(pageQuery.getPage() + 1, pageQuery.getSize()); @@ -177,10 +184,30 @@ public class StIvtStructivtCpServiceImpl extends ServiceImpl().eq("stockrecord_id", ivt.getStockrecord_id())); + // 插入库存变动记录 + JSONObject param = JSONObject.parseObject(JSON.toJSONString(ivt)); + param.put("change_type", ChangeIvtUtil.SUBFROZEN_SUBIVT_QTY); + param.put("change_qty",need_qty); + param.put("result_qty", 0); + param.put("bill_code",mst.getBill_code()); + param.put("inv_id",mst.getIostorinv_id()); + param.put("bill_type_scode",mst.getBill_type()); + iStIvtStructivtflowYlService.insetIvtChange(param); + need_qty = NumberUtil.sub(need_qty - canuse_qty).doubleValue(); } JSONObject mst_jo = new JSONObject(); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/rawmanage/service/iostorInv/impl/StIvtIostorinvYlServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/rawmanage/service/iostorInv/impl/StIvtIostorinvYlServiceImpl.java index d140b6dd..11a168e1 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/rawmanage/service/iostorInv/impl/StIvtIostorinvYlServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/rawmanage/service/iostorInv/impl/StIvtIostorinvYlServiceImpl.java @@ -3,6 +3,7 @@ package org.nl.wms.storage_manage.rawmanage.service.iostorInv.impl; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -22,6 +23,7 @@ import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtBsrealstora import org.nl.wms.pcs_manage.service.purchase.IPcsIfPurchaseorderService; import org.nl.wms.storage_manage.IOSEnum; import org.nl.wms.storage_manage.basedata.service.record.service.IStIvtStructivtflowService; +import org.nl.wms.storage_manage.productmanage.util.ChangeIvtUtil; import org.nl.wms.storage_manage.rawmanage.service.iostorInv.IStIvtIostorinvYlService; import org.nl.wms.storage_manage.rawmanage.service.iostorInv.IStIvtIostorinvdisYlService; import org.nl.wms.storage_manage.rawmanage.service.iostorInv.IStIvtIostorinvdtlYlService; @@ -31,6 +33,7 @@ import org.nl.wms.storage_manage.rawmanage.service.iostorInv.dao.StIvtIostorinvd import org.nl.wms.storage_manage.rawmanage.service.iostorInv.dao.mapper.StIvtIostorinvYlMapper; import org.nl.wms.storage_manage.rawmanage.service.iostorInv.dto.YlIostorInvQuery; import org.nl.wms.storage_manage.rawmanage.service.structIvt.IStIvtStructivtYlService; +import org.nl.wms.storage_manage.rawmanage.service.structIvt.IStIvtStructivtflowYlService; import org.nl.wms.storage_manage.rawmanage.service.structIvt.dao.StIvtStructivtYl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -65,6 +68,9 @@ public class StIvtIostorinvYlServiceImpl extends ServiceImpl { + void insetIvtChange(JSONObject json); + } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/rawmanage/service/structIvt/dao/StIvtStructivtflowYl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/rawmanage/service/structIvt/dao/StIvtStructivtflowYl.java index e9d62a5c..84080779 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/rawmanage/service/structIvt/dao/StIvtStructivtflowYl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/rawmanage/service/structIvt/dao/StIvtStructivtflowYl.java @@ -100,7 +100,7 @@ public class StIvtStructivtflowYl implements Serializable { /** * 变动时间 */ - private Date change_time; + private String change_time; /** * 变动人 diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/rawmanage/service/structIvt/impl/StIvtStructivtflowYlServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/rawmanage/service/structIvt/impl/StIvtStructivtflowYlServiceImpl.java index 299d9ed0..4da0a5ff 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/rawmanage/service/structIvt/impl/StIvtStructivtflowYlServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/rawmanage/service/structIvt/impl/StIvtStructivtflowYlServiceImpl.java @@ -1,9 +1,17 @@ package org.nl.wms.storage_manage.rawmanage.service.structIvt.impl; +import cn.hutool.core.date.DateUtil; +import com.alibaba.fastjson.JSONObject; +import org.nl.common.utils.IdUtil; +import org.nl.common.utils.SecurityUtils; +import org.nl.wms.masterdata_manage.storage.service.storage.IStIvtStructattrService; +import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtStructattr; +import org.nl.wms.storage_manage.basedata.service.record.dao.StIvtStructivtflow; import org.nl.wms.storage_manage.rawmanage.service.structIvt.dao.StIvtStructivtflowYl; import org.nl.wms.storage_manage.rawmanage.service.structIvt.dao.mapper.StIvtStructivtflowYlMapper; import org.nl.wms.storage_manage.rawmanage.service.structIvt.IStIvtStructivtflowYlService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; /** @@ -17,4 +25,36 @@ import org.springframework.stereotype.Service; @Service public class StIvtStructivtflowYlServiceImpl extends ServiceImpl implements IStIvtStructivtflowYlService { + @Autowired + protected IStIvtStructattrService iStIvtStructattrService; // 仓位属性服务 + + @Override + public void insetIvtChange(JSONObject json) { + + StIvtStructattr ivtDao = iStIvtStructattrService.getById(json.getString("struct_id")); + + StIvtStructivtflowYl dao = new StIvtStructivtflowYl(); + dao.setChange_id(IdUtil.getStringId()); + dao.setStruct_id(json.getString("struct_id")); + dao.setStruct_code(json.getString("struct_code")); + dao.setStruct_name(json.getString("struct_name")); + dao.setMaterial_id(json.getString("material_id")); + dao.setQuality_scode(json.getString("quality_scode")); + dao.setIvt_level(json.getString("ivt_level")); + dao.setIs_active(json.getBoolean("is_active")); + dao.setPcsn(json.getString("pcsn")); + dao.setStor_id(ivtDao.getStor_id()); + dao.setChange_type_scode(json.getString("change_type_scode")); + dao.setChange_time(DateUtil.now()); + dao.setChange_person_id(SecurityUtils.getCurrentUserId()); + dao.setChange_person_name(SecurityUtils.getCurrentNickName()); + dao.setChange_qty(json.getBigDecimal("change_qty")); + dao.setResult_qty(json.getBigDecimal("result_qty")); + dao.setQty_unit_id(json.getString("qty_unit_id")); + dao.setProduct_area(json.getString("workshop_id")); + dao.setBill_code(json.getString("bill_code")); + dao.setBill_type_scode(json.getString("bill_type_scode")); + dao.setInv_id(json.getString("inv_id")); + this.save(dao); + } } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/iostorInv/impl/StIvtIostorinvBcpOutServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/iostorInv/impl/StIvtIostorinvBcpOutServiceImpl.java index f8e5b4c5..3d6f1327 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/iostorInv/impl/StIvtIostorinvBcpOutServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/iostorInv/impl/StIvtIostorinvBcpOutServiceImpl.java @@ -40,6 +40,7 @@ import org.nl.wms.storage_manage.CHANGE_BILL_TYPE_ENUM; import org.nl.wms.storage_manage.IOSEnum; import org.nl.wms.storage_manage.basedata.service.record.service.IStIvtStructivtflowService; import org.nl.wms.storage_manage.productmanage.service.structIvt.dao.StIvtStructivtCp; +import org.nl.wms.storage_manage.productmanage.util.ChangeIvtUtil; import org.nl.wms.storage_manage.productmanage.util.DivRuleCpService; import org.nl.wms.storage_manage.productmanage.util.RuleUtil; import org.nl.wms.storage_manage.semimanage.service.iostorInv.IStIvtIostorinvBcpOutService; @@ -83,6 +84,8 @@ public class StIvtIostorinvBcpOutServiceImpl extends ServiceImpl().eq("struct_id", mst.getStruct_id())); + // 插入库存变动记录 + JSONObject param = JSONObject.parseObject(JSON.toJSONString(ivtDao)); + param.put("change_type", ChangeIvtUtil.SUBFROZEN_SUBIVT_QTY); + param.put("change_qty", ivtDao.getCanuse_qty()); + param.put("result_qty", 0); + param.put("bill_code",mst.getBill_code()); + param.put("inv_id",mst.getIostorinv_id()); + param.put("bill_type_scode",mst.getBill_type()); + iStIvtStructivtflowService.insetIvtChange(param); + /*structivtflowService.recordStructivtFlow( StIvtStructivtflowDto.builder() .bill_code(mst.getBill_code()).change_type_scode(CHANGE_BILL_TYPE_ENUM.IOSTORINV_IN_CONFIRM).bill_table("st_ivt_iostorinv_bcp") diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/iostorInv/impl/StIvtIostorinvBcpServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/iostorInv/impl/StIvtIostorinvBcpServiceImpl.java index 77c5f58f..b3cfe03d 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/iostorInv/impl/StIvtIostorinvBcpServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/iostorInv/impl/StIvtIostorinvBcpServiceImpl.java @@ -38,6 +38,7 @@ import org.nl.wms.storage_manage.basedata.service.record.service.IStIvtStructivt import org.nl.wms.masterdata_manage.storage.service.storage.IStIvtBsrealstorattrService; import org.nl.wms.masterdata_manage.storage.service.storage.IStIvtStructattrService; import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtBsrealstorattr; +import org.nl.wms.storage_manage.productmanage.util.ChangeIvtUtil; import org.nl.wms.storage_manage.productmanage.util.DivRuleCpService; import org.nl.wms.storage_manage.productmanage.util.RuleUtil; import org.nl.wms.storage_manage.rawmanage.service.structIvt.dao.StIvtStructivtYl; @@ -83,6 +84,8 @@ public class StIvtIostorinvBcpServiceImpl extends ServiceImpl().lambda() 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 5fea1256..c1494712 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 @@ -417,7 +417,7 @@ export default { } this.loadingAlldiv = true - productOut.allDivIvt({ 'iostorinvdtl_id': this.currentRow.iostorinvdtl_id, 'sect_id': this.mstrow.sect_id, 'stor_id': this.mstrow.stor_id, 'type': false }).then(res => { + productOut.allDivIvt({ 'iostorinvdtl_id': this.currentRow.iostorinvdtl_id, 'iostorinv_id': this.currentRow.iostorinv_id, 'sect_id': this.mstrow.sect_id, 'stor_id': this.mstrow.stor_id, 'type': false }).then(res => { this.crud.notify('分配成功!', CRUD.NOTIFICATION_TYPE.SUCCESS) this.queryTableDtl() this.loadingAlldiv = false