add:盘点管理、易损单、出入库记录
This commit is contained in:
@@ -64,6 +64,8 @@ public class StIvtCheckdtl implements Serializable {
|
||||
*/
|
||||
private String material_id;
|
||||
|
||||
private String material_code;
|
||||
|
||||
/**
|
||||
* 批次
|
||||
*/
|
||||
|
||||
@@ -58,6 +58,7 @@ public class StIvtMoreorlessdtl implements Serializable {
|
||||
* 物料标识
|
||||
*/
|
||||
private String material_id;
|
||||
private String material_code;
|
||||
|
||||
/**
|
||||
* 批次
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
FROM
|
||||
st_ivt_checkdtl dtl
|
||||
LEFT JOIN st_ivt_checkmst ios ON ios.check_id = dtl.check_id
|
||||
LEFT JOIN md_me_materialbase material ON material.material_id = dtl.material_id
|
||||
LEFT JOIN md_me_materialbase material ON material.material_code = dtl.material_code
|
||||
LEFT JOIN st_ivt_sectattr sect ON sect.sect_code = dtl.sect_code
|
||||
LEFT JOIN st_ivt_structattr attr ON attr.struct_code = dtl.struct_code
|
||||
<where>
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
FROM
|
||||
st_ivt_moreorlessdtl dtl
|
||||
LEFT JOIN st_ivt_moreorlessmst ios ON ios.mol_id = dtl.mol_id
|
||||
LEFT JOIN md_me_materialbase material ON material.material_id = dtl.material_id
|
||||
LEFT JOIN md_me_materialbase material ON material.material_code = dtl.material_code
|
||||
INNER JOIN md_pb_groupplate ext ON ext.storagevehicle_code = dtl.storagevehicle_code
|
||||
AND ext.material_code = dtl.material_code AND dtl.pcsn = ext.pcsn
|
||||
<where>
|
||||
|
||||
@@ -62,7 +62,7 @@ public class StIvtCheckdtlServiceImpl extends ServiceImpl<StIvtCheckdtlMapper, S
|
||||
dao.setSect_code(json.getString("sect_code"));
|
||||
dao.setStruct_code(json.getString("struct_code"));
|
||||
dao.setStoragevehicle_code(json.getString("storagevehicle_code"));
|
||||
dao.setMaterial_id(json.getString("material_id"));
|
||||
dao.setMaterial_code(json.getString("material_code"));
|
||||
dao.setPcsn(json.getString("pcsn"));
|
||||
dao.setBase_qty(json.getBigDecimal("base_qty"));
|
||||
dao.setFac_qty(json.getBigDecimal("fac_qty"));
|
||||
@@ -111,7 +111,7 @@ public class StIvtCheckdtlServiceImpl extends ServiceImpl<StIvtCheckdtlMapper, S
|
||||
// 创建损益单明细数据
|
||||
List<JSONObject> tableData = new ArrayList<>();
|
||||
JSONObject jsonDtl = new JSONObject();
|
||||
jsonDtl.put("material_id", dao.getMaterial_id());
|
||||
jsonDtl.put("material_code", dao.getMaterial_code());
|
||||
jsonDtl.put("pcsn", dao.getPcsn());
|
||||
jsonDtl.put("ivt_qty", base_qty);
|
||||
jsonDtl.put("mol_qty", mol_qty);
|
||||
|
||||
@@ -40,7 +40,7 @@ public class StIvtMoreorlessdtlServiceImpl extends ServiceImpl<StIvtMoreorlessdt
|
||||
dao.setStruct_code(json.getString("struct_code"));
|
||||
dao.setSect_code(json.getString("sect_code"));
|
||||
dao.setStoragevehicle_code(json.getString("storagevehicle_code"));
|
||||
dao.setMaterial_id(json.getString("material_id"));
|
||||
dao.setMaterial_code(json.getString("material_code"));
|
||||
dao.setPcsn(json.getString("pcsn"));
|
||||
dao.setQty_unit_id(json.getString("qty_unit_id"));
|
||||
dao.setQty_unit_name(json.getString("qty_unit_name"));
|
||||
|
||||
@@ -139,12 +139,13 @@ public class StIvtMoreorlessmstServiceImpl extends ServiceImpl<StIvtMoreorlessms
|
||||
json.put("type", dao.getMol_type().equals(IOSEnum.MORE_TYPE.code("损"))
|
||||
? IOSConstant.UPDATE_IVT_TYPE_SUB_CANUSE_IVT : IOSConstant.UPDATE_IVT_TYPE_ADD_CANUSE_IVT);
|
||||
json.put("storagevehicle_code",dto.getStoragevehicle_code());
|
||||
json.put("material_id",dto.getMaterial_id());
|
||||
json.put("material_code",dto.getMaterial_code());
|
||||
json.put("pcsn",dto.getPcsn());
|
||||
json.put("qty_unit_id",dto.getQty_unit_id());
|
||||
json.put("qty_unit_name",dto.getQty_unit_name());
|
||||
json.put("change_qty",dto.getMol_qty());
|
||||
json.put("remark","由损益单据【"+dao.getMol_code()+"】变更库存数量【"+dto.getMol_qty()+"】");
|
||||
json.put("struct_code", dto.getStruct_code());
|
||||
updateIvtUtils.updateIvt(json);
|
||||
}
|
||||
// 更新明细为完成
|
||||
|
||||
@@ -4,12 +4,18 @@ import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import org.nl.common.exception.BadRequestException;
|
||||
import org.nl.common.utils.IdUtil;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.wms.basedata_manage.service.IMdPbStoragevehicleextService;
|
||||
import org.nl.wms.basedata_manage.service.IStructattrService;
|
||||
import org.nl.wms.basedata_manage.service.dao.Structattr;
|
||||
import org.nl.wms.warehouse_manage.enums.IOSConstant;
|
||||
import org.nl.wms.warehouse_manage.enums.IOSEnum;
|
||||
import org.nl.wms.warehouse_manage.record.service.IStIvtStructivtflowService;
|
||||
import org.nl.wms.warehouse_manage.record.service.dao.StIvtStructivtflow;
|
||||
import org.nl.wms.warehouse_manage.service.IMdPbGroupplateService;
|
||||
import org.nl.wms.warehouse_manage.service.dao.GroupPlate;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -37,6 +43,13 @@ public class UpdateIvtUtils {
|
||||
*/
|
||||
@Autowired
|
||||
private IMdPbGroupplateService iMdPbGroupPlateService;
|
||||
/**
|
||||
* 仓位信息服务
|
||||
*/
|
||||
@Autowired
|
||||
private IStructattrService structattrService;
|
||||
@Autowired
|
||||
private IStIvtStructivtflowService stIvtStructivtflowService;
|
||||
|
||||
/**
|
||||
* 更新库存
|
||||
@@ -74,11 +87,11 @@ public class UpdateIvtUtils {
|
||||
break;
|
||||
case IOSConstant.UPDATE_IVT_TYPE_ADD_CANUSE_IVT :
|
||||
// 加可用(加库存)
|
||||
// updateAddCanuseIvt(where);
|
||||
updateAddCanuseIvt(where);
|
||||
break;
|
||||
case IOSConstant.UPDATE_IVT_TYPE_SUB_CANUSE_IVT :
|
||||
// 减可用(减库存)
|
||||
// updateSubCanuseIvt(where);
|
||||
updateSubCanuseIvt(where);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@@ -96,7 +109,7 @@ public class UpdateIvtUtils {
|
||||
if (ObjectUtil.isEmpty(where.getString("storagevehicle_code"))) {
|
||||
throw new BadRequestException("载具编码不能为空!");
|
||||
}
|
||||
if (ObjectUtil.isEmpty(where.getString("material_id"))) {
|
||||
if (ObjectUtil.isEmpty(where.getString("material_code"))) {
|
||||
throw new BadRequestException("物料标识不能为空!");
|
||||
}
|
||||
if (ObjectUtil.isEmpty(where.getString("pcsn"))) {
|
||||
@@ -244,7 +257,7 @@ public class UpdateIvtUtils {
|
||||
GroupPlate extDao = iMdPbGroupPlateService.getOne(
|
||||
new QueryWrapper<GroupPlate>().lambda()
|
||||
.eq(GroupPlate::getStoragevehicle_code, where.getString("storagevehicle_code"))
|
||||
.eq(GroupPlate::getMaterial_code, where.getString("material_id"))
|
||||
.eq(GroupPlate::getMaterial_code, where.getString("material_code"))
|
||||
.eq(GroupPlate::getPcsn, where.getString("pcsn"))
|
||||
);
|
||||
if (ObjectUtil.isEmpty(extDao)) {
|
||||
@@ -257,7 +270,26 @@ public class UpdateIvtUtils {
|
||||
extDao.setUpdate_time(DateUtil.now());
|
||||
extDao.setRemark(where.getString("remark"));
|
||||
iMdPbGroupPlateService.updateById(extDao);
|
||||
;
|
||||
//获取仓位信息
|
||||
Structattr structattr = structattrService.getOne(new LambdaQueryWrapper<Structattr>()
|
||||
.eq(Structattr::getStruct_code, where.getString("struct_code")));
|
||||
//添加库存变动记录
|
||||
StIvtStructivtflow record = new StIvtStructivtflow();
|
||||
record.setId(IdUtil.getStringId());
|
||||
record.setUpdate_time(DateUtil.now());
|
||||
record.setVehicle_code(extDao.getStoragevehicle_code());
|
||||
record.setMaterial_id(extDao.getMaterial_code());
|
||||
record.setPcsn(extDao.getPcsn());
|
||||
record.setQty(extDao.getQty());
|
||||
record.setChange_qty(where.getBigDecimal("change_qty"));
|
||||
record.setSource_form_id(extDao.getExt_code());
|
||||
record.setUnit_id(extDao.getQty_unit_id());
|
||||
record.setStruct_code(structattr.getStruct_code());
|
||||
record.setStor_code(structattr.getStor_code());
|
||||
record.setSect_code(structattr.getSect_code());
|
||||
record.setGrowth(true);
|
||||
stIvtStructivtflowService.save(record);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -268,7 +300,7 @@ public class UpdateIvtUtils {
|
||||
GroupPlate extDao = iMdPbGroupPlateService.getOne(
|
||||
new QueryWrapper<GroupPlate>().lambda()
|
||||
.eq(GroupPlate::getStoragevehicle_code, where.getString("storagevehicle_code"))
|
||||
.eq(GroupPlate::getMaterial_code, where.getString("material_id"))
|
||||
.eq(GroupPlate::getMaterial_code, where.getString("material_code"))
|
||||
.eq(GroupPlate::getPcsn, where.getString("pcsn"))
|
||||
);
|
||||
if (ObjectUtil.isEmpty(extDao)) {
|
||||
@@ -284,6 +316,25 @@ public class UpdateIvtUtils {
|
||||
extDao.setUpdate_time(DateUtil.now());
|
||||
extDao.setRemark(where.getString("remark"));
|
||||
iMdPbGroupPlateService.updateById(extDao);
|
||||
//获取仓位信息
|
||||
Structattr structattr = structattrService.getOne(new LambdaQueryWrapper<Structattr>()
|
||||
.eq(Structattr::getStruct_code, where.getString("struct_code")));
|
||||
//添加库存变动记录
|
||||
StIvtStructivtflow record = new StIvtStructivtflow();
|
||||
record.setId(IdUtil.getStringId());
|
||||
record.setUpdate_time(DateUtil.now());
|
||||
record.setVehicle_code(extDao.getStoragevehicle_code());
|
||||
record.setMaterial_id(extDao.getMaterial_code());
|
||||
record.setPcsn(extDao.getPcsn());
|
||||
record.setQty(extDao.getQty());
|
||||
record.setChange_qty(where.getBigDecimal("change_qty"));
|
||||
record.setSource_form_id(extDao.getExt_code());
|
||||
record.setUnit_id(extDao.getQty_unit_id());
|
||||
record.setStruct_code(structattr.getStruct_code());
|
||||
record.setStor_code(structattr.getStor_code());
|
||||
record.setSect_code(structattr.getSect_code());
|
||||
record.setGrowth(false);
|
||||
stIvtStructivtflowService.save(record);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user