add:新增半成品虚拟入库
This commit is contained in:
@@ -22,7 +22,7 @@ public enum IOSEnum {
|
||||
//仓库编码
|
||||
STOR_CODE(MapOf.of("原材料仓", "1528627964823080960", "半成品仓库", "15286279952695336962","成品库", "1528627995269533696","海柔半成品","15286279952695336963")),
|
||||
//库区编码
|
||||
SECT_CODE(MapOf.of("成品库区", "1528631043496742912", "半成品库区", "1528631044482404352")),
|
||||
SECT_CODE(MapOf.of("成品库区", "1528631043496742912", "半成品库区", "1528631044482404352","半成品虚拟库区","1707219721935523840")),
|
||||
//托盘超限类型
|
||||
VEHICLE_OVER_TYPE(MapOf.of("标准", "00", "横向超", "01","纵向超","02")),
|
||||
//单据类型
|
||||
|
||||
@@ -67,6 +67,13 @@ public class StIvtIostorinvBcpController {
|
||||
return new ResponseEntity<>(stIvtIostorinvBcpService.queryDtl(query,page), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@GetMapping("/getVirtual")
|
||||
@Log("查询入库单据")
|
||||
//("查询入库单据")
|
||||
public ResponseEntity<Object> getVirtual(BcpIostorInvQuery query, PageQuery page) {
|
||||
return new ResponseEntity<>(stIvtIostorinvBcpService.getVirtual(query,page), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/create")
|
||||
@Log("新增入库单")
|
||||
//("新增入库单")
|
||||
@@ -125,6 +132,12 @@ public class StIvtIostorinvBcpController {
|
||||
return new ResponseEntity<>(stIvtIostorinvBcpService.getIoDtl(whereJson.toJavaObject(BcpIostorInvQuery.class)), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/getIODtlVirtual")
|
||||
@Log("查询入库分配明细")
|
||||
//("查询入库分配明细")
|
||||
public ResponseEntity<Object> getIODtlVirtual(@RequestBody JSONObject whereJson) {
|
||||
return new ResponseEntity<>(stIvtIostorinvBcpService.getIODtlVirtual(whereJson.toJavaObject(BcpIostorInvQuery.class)), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/confirm")
|
||||
@Log("完成单据")
|
||||
@@ -134,6 +147,14 @@ public class StIvtIostorinvBcpController {
|
||||
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
||||
}
|
||||
|
||||
@PostMapping("/confirmVirtual")
|
||||
@Log("完成单据")
|
||||
//("完成单据")
|
||||
public ResponseEntity<Object> confirmVirtual(@RequestBody JSONObject whereJson) {
|
||||
stIvtIostorinvBcpService.confirmVirtual(whereJson);
|
||||
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
||||
}
|
||||
|
||||
@PostMapping("/confirmTask")
|
||||
@Log("下发任务")
|
||||
//("下发任务")
|
||||
|
||||
@@ -63,4 +63,11 @@ public interface IStIvtIostorinvBcpService extends IService<StIvtIostorinvBcp> {
|
||||
List<Map> getPdaAll(JSONObject form);
|
||||
|
||||
void download(BcpIostorInvQuery query, PageQuery page, HttpServletResponse response) throws IOException;
|
||||
|
||||
Object getVirtual(BcpIostorInvQuery query, PageQuery page);
|
||||
|
||||
List<Map> getIODtlVirtual(BcpIostorInvQuery query);
|
||||
|
||||
String confirmVirtual(JSONObject form);
|
||||
|
||||
}
|
||||
|
||||
@@ -23,4 +23,7 @@ public interface StIvtIostorinvBcpMapper extends BaseMapper<StIvtIostorinvBcp> {
|
||||
List<Map> getIostorinv(@Param("query") BcpIostorInvQuery query);
|
||||
|
||||
List<Map> getPdaAll(JSONObject form);
|
||||
|
||||
List<Map> getIODtlVirtual(@Param("query") BcpIostorInvQuery query);
|
||||
|
||||
}
|
||||
|
||||
@@ -16,6 +16,51 @@
|
||||
LEFT JOIN sch_base_task task ON task.task_id = dtl.task_id
|
||||
<where>
|
||||
dtl.is_delete = false
|
||||
and dtl.point_code != '0'
|
||||
<if test="query.stor_id != null and query.stor_id != ''">
|
||||
and dtl.stor_id = #{query.stor_id}
|
||||
</if>
|
||||
<if test="query.iostorinv_id != null and query.iostorinv_id != ''">
|
||||
and dtl.iostorinv_id = #{query.iostorinv_id}
|
||||
</if>
|
||||
<if test="query.bill_code != null and query.bill_code != ''">
|
||||
and dtl.bill_code like #{query.bill_code}
|
||||
</if>
|
||||
<if test="query.bill_type != null and query.bill_type != ''">
|
||||
and dtl.bill_type like #{query.bill_type}
|
||||
</if>
|
||||
<if test="query.bill_status != null and query.bill_status != ''">
|
||||
and dtl.bill_status = #{query.bill_status}
|
||||
</if>
|
||||
<if test="query.io_type != null and query.io_type != ''">
|
||||
and dtl.io_type = #{query.io_type}
|
||||
</if>
|
||||
<if test="query.start_time != null and query.start_time != ''">
|
||||
and dtl.create_time >= #{query.start_time}
|
||||
</if>
|
||||
<if test="query.end_time != null and query.end_time != ''">
|
||||
and #{query.end_time} >= dtl.create_time
|
||||
</if>
|
||||
</where>
|
||||
order by dtl.create_time desc
|
||||
</select>
|
||||
|
||||
<select id="getIODtlVirtual" resultType="java.util.Map">
|
||||
SELECT
|
||||
dtl.*,
|
||||
mater.material_code,
|
||||
mater.material_name,
|
||||
mater.material_spec,
|
||||
task.task_code,
|
||||
task.task_status,
|
||||
ROUND(dtl.plan_qty / dtl.unit_weight,3 ) AS qty
|
||||
FROM
|
||||
st_ivt_iostorinv_bcp dtl
|
||||
LEFT JOIN md_me_materialbase mater ON mater.material_id = dtl.material_id
|
||||
LEFT JOIN sch_base_task task ON task.task_id = dtl.task_id
|
||||
<where>
|
||||
dtl.is_delete = false
|
||||
and dtl.point_code = '0'
|
||||
<if test="query.stor_id != null and query.stor_id != ''">
|
||||
and dtl.stor_id = #{query.stor_id}
|
||||
</if>
|
||||
|
||||
@@ -155,10 +155,14 @@ public class StIvtIostorinvBcpOutServiceImpl extends ServiceImpl<StIvtIostorinvB
|
||||
this.save(mst);
|
||||
|
||||
//锁定起点
|
||||
structattrService.update(new UpdateWrapper<StIvtStructattr>().lambda()
|
||||
.eq(StIvtStructattr::getStruct_code, mst.getStruct_code())
|
||||
.set(StIvtStructattr::getInv_code,mst.getBill_code())
|
||||
.set(StIvtStructattr::getLock_type, IOSEnum.LOCK_TYPE.code("出库锁")));
|
||||
StIvtStructattr attrDao = structattrService.getById(mst.getStruct_id());
|
||||
|
||||
if (!attrDao.getSect_id().equals(IOSEnum.SECT_CODE.code("半成品虚拟库区"))) {
|
||||
structattrService.update(new UpdateWrapper<StIvtStructattr>().lambda()
|
||||
.eq(StIvtStructattr::getStruct_code, mst.getStruct_code())
|
||||
.set(StIvtStructattr::getInv_code,mst.getBill_code())
|
||||
.set(StIvtStructattr::getLock_type, IOSEnum.LOCK_TYPE.code("出库锁")));
|
||||
}
|
||||
|
||||
// 判断是否自动下发
|
||||
if (ObjectUtil.isNotEmpty(form.getString("auto_send"))) {
|
||||
@@ -202,19 +206,62 @@ public class StIvtIostorinvBcpOutServiceImpl extends ServiceImpl<StIvtIostorinvB
|
||||
mst.setUpdate_name(SecurityUtils.getCurrentNickName());
|
||||
this.updateById(mst);
|
||||
|
||||
StIvtStructivtBcp ivtDao = structivtBcpService.getById(mst.getStruct_id());
|
||||
//删除库存
|
||||
structivtBcpService.remove(new QueryWrapper<StIvtStructivtBcp>().eq("struct_id", mst.getStruct_id()));
|
||||
// 判断库区是否是虚拟区
|
||||
if (mst.getSect_id().equals(IOSEnum.SECT_CODE.code("半成品虚拟库区"))) {
|
||||
StIvtStructivtBcp ivtDao = structivtBcpService.getOne(
|
||||
new QueryWrapper<StIvtStructivtBcp>().lambda()
|
||||
.eq(StIvtStructivtBcp::getStruct_id, mst.getStruct_id())
|
||||
.eq(StIvtStructivtBcp::getMaterial_id, mst.getMaterial_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);
|
||||
BigDecimal subQty = NumberUtil.sub(ivtDao.getCanuse_qty(), mst.getPlan_qty());
|
||||
|
||||
if (subQty.doubleValue() > 0) {
|
||||
// 更新库存
|
||||
structivtBcpService.update(
|
||||
new UpdateWrapper<StIvtStructivtBcp>().lambda()
|
||||
.eq(StIvtStructivtBcp::getMaterial_id, mst.getMaterial_id())
|
||||
.eq(StIvtStructivtBcp::getStruct_id, mst.getStruct_id())
|
||||
.set(StIvtStructivtBcp::getCanuse_qty, subQty)
|
||||
);
|
||||
|
||||
} else {
|
||||
// 删除库存
|
||||
structivtBcpService.remove(
|
||||
new QueryWrapper<StIvtStructivtBcp>().lambda()
|
||||
.eq(StIvtStructivtBcp::getStruct_id, mst.getStruct_id())
|
||||
.eq(StIvtStructivtBcp::getMaterial_id, mst.getMaterial_id())
|
||||
);
|
||||
}
|
||||
|
||||
// 插入库存变动记录
|
||||
JSONObject param = JSONObject.parseObject(JSON.toJSONString(ivtDao));
|
||||
param.put("change_type", ChangeIvtUtil.SUBFROZEN_SUBIVT_QTY);
|
||||
param.put("change_qty", mst.getPlan_qty());
|
||||
param.put("result_qty", subQty.doubleValue() > 0 ? subQty : 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);
|
||||
|
||||
} else {
|
||||
StIvtStructivtBcp ivtDao = structivtBcpService.getOne(
|
||||
new QueryWrapper<StIvtStructivtBcp>().lambda()
|
||||
.eq(StIvtStructivtBcp::getStruct_id, mst.getStruct_id())
|
||||
.eq(StIvtStructivtBcp::getMaterial_id, mst.getMaterial_id())
|
||||
);
|
||||
//删除库存
|
||||
structivtBcpService.remove(new QueryWrapper<StIvtStructivtBcp>().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()
|
||||
@@ -226,29 +273,29 @@ public class StIvtIostorinvBcpOutServiceImpl extends ServiceImpl<StIvtIostorinvB
|
||||
.build()
|
||||
);*/
|
||||
|
||||
//维护载具
|
||||
structattrService.update(new UpdateWrapper<StIvtStructattr>().lambda()
|
||||
.eq(StIvtStructattr::getStruct_code, mst.getStruct_code())
|
||||
.set(StIvtStructattr::getLock_type, IOSEnum.LOCK_TYPE.code("未锁定"))
|
||||
.set(StIvtStructattr::getInv_code,"")
|
||||
.set(StIvtStructattr::getStoragevehicle_code, ""));
|
||||
//维护载具
|
||||
structattrService.update(new UpdateWrapper<StIvtStructattr>().lambda()
|
||||
.eq(StIvtStructattr::getStruct_code, mst.getStruct_code())
|
||||
.set(StIvtStructattr::getLock_type, IOSEnum.LOCK_TYPE.code("未锁定"))
|
||||
.set(StIvtStructattr::getInv_code,"")
|
||||
.set(StIvtStructattr::getStoragevehicle_code, ""));
|
||||
|
||||
// 更新任务为完成
|
||||
iSchBaseTaskService.update(
|
||||
new UpdateWrapper<SchBaseTask>().lambda()
|
||||
.set(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode())
|
||||
.eq(SchBaseTask::getTask_id, mst.getTask_id())
|
||||
);
|
||||
|
||||
// 更新载具扩展属性 - 释放载具对应物料关系 清空数量
|
||||
iMdPbStoragevehicleextService.update(
|
||||
new MdPbStoragevehicleext()
|
||||
.setMaterial_id("")
|
||||
.setStorage_qty(BigDecimal.valueOf(0)),
|
||||
new QueryWrapper<MdPbStoragevehicleext>().lambda()
|
||||
.eq(MdPbStoragevehicleext::getStoragevehicle_code,mst.getStoragevehicle_code())
|
||||
);
|
||||
// 更新任务为完成
|
||||
iSchBaseTaskService.update(
|
||||
new UpdateWrapper<SchBaseTask>().lambda()
|
||||
.set(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode())
|
||||
.eq(SchBaseTask::getTask_id, mst.getTask_id())
|
||||
);
|
||||
|
||||
// 更新载具扩展属性 - 释放载具对应物料关系 清空数量
|
||||
iMdPbStoragevehicleextService.update(
|
||||
new MdPbStoragevehicleext()
|
||||
.setMaterial_id("")
|
||||
.setStorage_qty(BigDecimal.valueOf(0)),
|
||||
new QueryWrapper<MdPbStoragevehicleext>().lambda()
|
||||
.eq(MdPbStoragevehicleext::getStoragevehicle_code,mst.getStoragevehicle_code())
|
||||
);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -461,6 +508,10 @@ public class StIvtIostorinvBcpOutServiceImpl extends ServiceImpl<StIvtIostorinvB
|
||||
StIvtIostorinvBcp mst = this.getById(form.getString("iostorinv_id"));
|
||||
checkParam(mst);
|
||||
|
||||
if (mst.getSect_id().equals(IOSEnum.SECT_CODE.code("半成品虚拟库区"))) {
|
||||
throw new BadRequestException("此货位是虚拟货位,请强制完成单据!");
|
||||
}
|
||||
|
||||
PointEvent event = PointEvent.builder()
|
||||
.type(AcsTaskEnum.TASK_STRUCT_OUT)
|
||||
.acs_task_type("7")
|
||||
|
||||
@@ -144,6 +144,19 @@ public class StIvtIostorinvBcpServiceImpl extends ServiceImpl<StIvtIostorinvBcpM
|
||||
mst.setStor_code(stor.getStor_code());
|
||||
mst.setStor_name(stor.getStor_name());
|
||||
}
|
||||
仓位数据:
|
||||
{
|
||||
StIvtStructattr attrDao = structattrService.getById(JSONObject.parseObject(JSON.toJSONString(item)).getString("struct_id"));
|
||||
if (ObjectUtil.isNotEmpty(attrDao)) {
|
||||
mst.setStruct_id(attrDao.getStruct_id());
|
||||
mst.setStruct_code(attrDao.getStruct_code());
|
||||
mst.setStruct_name(attrDao.getStruct_name());
|
||||
mst.setSect_id(attrDao.getSect_id());
|
||||
mst.setSect_name(attrDao.getSect_name());
|
||||
mst.setSect_code(attrDao.getSect_code());
|
||||
}
|
||||
}
|
||||
|
||||
packageRow(mst, JSONObject.parseObject(JSON.toJSONString(item)));
|
||||
mst.setCreate_id(SecurityUtils.getCurrentUserId());
|
||||
mst.setCreate_name(SecurityUtils.getCurrentNickName());
|
||||
@@ -174,27 +187,30 @@ public class StIvtIostorinvBcpServiceImpl extends ServiceImpl<StIvtIostorinvBcpM
|
||||
mst.setBase_bill_code(row.getString("base_bill_code"));
|
||||
mst.setQty_unit_name(row.getString("base_unit_name"));
|
||||
mst.setUnit_weight(row.getBigDecimal("unit_weight"));
|
||||
|
||||
// 载具信息
|
||||
{
|
||||
MdPbStoragevehicleinfo vehicleDao = iMdPbStoragevehicleinfoService.getOne(
|
||||
new QueryWrapper<MdPbStoragevehicleinfo>().lambda()
|
||||
.eq(MdPbStoragevehicleinfo::getStoragevehicle_code, row.getString("storagevehicle_code"))
|
||||
);
|
||||
if (!mst.getPoint_code().equals("0")) {
|
||||
MdPbStoragevehicleinfo vehicleDao = iMdPbStoragevehicleinfoService.getOne(
|
||||
new QueryWrapper<MdPbStoragevehicleinfo>().lambda()
|
||||
.eq(MdPbStoragevehicleinfo::getStoragevehicle_code, row.getString("storagevehicle_code"))
|
||||
);
|
||||
|
||||
if (ObjectUtil.isEmpty(vehicleDao)) throw new BadRequestException("载具不存在!");
|
||||
if (ObjectUtil.isEmpty(vehicleDao)) throw new BadRequestException("载具不存在!");
|
||||
|
||||
mst.setStoragevehicle_code(vehicleDao.getStoragevehicle_code());
|
||||
mst.setStoragevehicle_id(vehicleDao.getStoragevehicle_id());
|
||||
mst.setStoragevehicle_code(vehicleDao.getStoragevehicle_code());
|
||||
mst.setStoragevehicle_id(vehicleDao.getStoragevehicle_id());
|
||||
|
||||
// 更新载具对应物料关系、数量
|
||||
MdPbStoragevehicleext vehicleExtDao = iMdPbStoragevehicleextService.getOne(
|
||||
new QueryWrapper<MdPbStoragevehicleext>().lambda()
|
||||
.eq(MdPbStoragevehicleext::getStoragevehicle_code, row.getString("storagevehicle_code"))
|
||||
);
|
||||
if (ObjectUtil.isNotEmpty(vehicleExtDao)) {
|
||||
vehicleExtDao.setWeight(mst.getPlan_qty());
|
||||
vehicleExtDao.setMaterial_id(mst.getMaterial_id());
|
||||
iMdPbStoragevehicleextService.updateById(vehicleExtDao);
|
||||
// 更新载具对应物料关系、数量
|
||||
MdPbStoragevehicleext vehicleExtDao = iMdPbStoragevehicleextService.getOne(
|
||||
new QueryWrapper<MdPbStoragevehicleext>().lambda()
|
||||
.eq(MdPbStoragevehicleext::getStoragevehicle_code, row.getString("storagevehicle_code"))
|
||||
);
|
||||
if (ObjectUtil.isNotEmpty(vehicleExtDao)) {
|
||||
vehicleExtDao.setWeight(mst.getPlan_qty());
|
||||
vehicleExtDao.setMaterial_id(mst.getMaterial_id());
|
||||
iMdPbStoragevehicleextService.updateById(vehicleExtDao);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -464,6 +480,93 @@ public class StIvtIostorinvBcpServiceImpl extends ServiceImpl<StIvtIostorinvBcpM
|
||||
FileUtil.downloadExcel(list, response);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getVirtual(BcpIostorInvQuery query, PageQuery pageQuery) {
|
||||
Page<Object> page = PageHelper.startPage(pageQuery.getPage() + 1, pageQuery.getSize());
|
||||
TableDataInfo build = TableDataInfo.build(this.getIODtlVirtual(query));
|
||||
build.setTotalElements(page.getTotal());
|
||||
return build;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Map> getIODtlVirtual(BcpIostorInvQuery query) {
|
||||
return this.baseMapper.getIODtlVirtual(query);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public String confirmVirtual(JSONObject form) {
|
||||
Assert.notNull(new Object[]{form, form.get("iostorinv_id")}, "请求参数不能为空");
|
||||
StIvtIostorinvBcp mst = this.getById(form.getString("iostorinv_id"));
|
||||
if (StringUtils.isEmpty(mst.getStruct_code())) {
|
||||
throw new BadRequestException("当前入库单还未分配仓位!");
|
||||
}
|
||||
|
||||
mst.setBill_status(IOSEnum.BILL_STATUS.code("完成"));
|
||||
mst.setUpdate_time(DateUtil.now());
|
||||
mst.setUpdate_id(SecurityUtils.getCurrentUserId());
|
||||
mst.setUpdate_name(SecurityUtils.getCurrentNickName());
|
||||
this.updateById(mst);
|
||||
|
||||
// 查看此仓位此物料的库存是否存在
|
||||
StIvtStructivtBcp ivtDaoNow = structivtBcpService.getOne(
|
||||
new QueryWrapper<StIvtStructivtBcp>().lambda()
|
||||
.eq(StIvtStructivtBcp::getMaterial_id, mst.getMaterial_id())
|
||||
.eq(StIvtStructivtBcp::getStruct_id, mst.getStruct_id())
|
||||
);
|
||||
|
||||
if (ObjectUtil.isEmpty(ivtDaoNow)) {
|
||||
//新增库存
|
||||
StIvtStructivtBcp ivtDao = StIvtStructivtBcp.builder()
|
||||
.struct_id(mst.getStruct_id())
|
||||
.struct_code(mst.getStruct_code())
|
||||
.struct_name(mst.getStruct_name())
|
||||
.material_id(mst.getMaterial_id())
|
||||
.quality_scode(mst.getQuality_scode())
|
||||
.pcsn(mst.getPcsn())
|
||||
.ivt_level(mst.getIvt_level())
|
||||
.is_active(mst.getIs_active())
|
||||
.qty_unit_id("2")
|
||||
.instorage_time(DateUtil.now())
|
||||
.stor_id(mst.getStor_id())
|
||||
.canuse_qty(mst.getPlan_qty())
|
||||
.workshop_id(mst.getWorkshop_id())
|
||||
.unit_weight(mst.getUnit_weight())
|
||||
.bill_type(mst.getBill_type())
|
||||
.build();
|
||||
structivtBcpService.save(ivtDao);
|
||||
|
||||
// 插入库存变动记录
|
||||
JSONObject param = JSONObject.parseObject(JSON.toJSONString(ivtDao));
|
||||
param.put("change_type", ChangeIvtUtil.SUBWAREHOUSING_ADDIVT_QTY);
|
||||
param.put("change_qty", ivtDao.getCanuse_qty());
|
||||
param.put("result_qty", ivtDao.getCanuse_qty());
|
||||
param.put("bill_code",mst.getBill_code());
|
||||
param.put("inv_id",mst.getIostorinv_id());
|
||||
param.put("bill_type_scode",IOSEnum.IO_TYPE.code("入库"));
|
||||
iStIvtStructivtflowService.insetIvtChange(param);
|
||||
} else {
|
||||
// 增加库存
|
||||
structivtBcpService.update(
|
||||
new UpdateWrapper<StIvtStructivtBcp>().lambda()
|
||||
.eq(StIvtStructivtBcp::getMaterial_id, mst.getMaterial_id())
|
||||
.eq(StIvtStructivtBcp::getStruct_id, mst.getStruct_id())
|
||||
.set(StIvtStructivtBcp::getCanuse_qty, NumberUtil.add(ivtDaoNow.getCanuse_qty(),mst.getPlan_qty()))
|
||||
);
|
||||
|
||||
// 插入库存变动记录
|
||||
JSONObject param = JSONObject.parseObject(JSON.toJSONString(ivtDaoNow));
|
||||
param.put("change_type", ChangeIvtUtil.SUBWAREHOUSING_ADDIVT_QTY);
|
||||
param.put("change_qty", mst.getPlan_qty());
|
||||
param.put("result_qty", ivtDaoNow.getCanuse_qty());
|
||||
param.put("bill_code",mst.getBill_code());
|
||||
param.put("inv_id",mst.getIostorinv_id());
|
||||
param.put("bill_type_scode",IOSEnum.IO_TYPE.code("入库"));
|
||||
iStIvtStructivtflowService.insetIvtChange(param);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private void delTask(String task_id) {
|
||||
|
||||
StIvtIostorinvBcp mstDao = this.getOne(
|
||||
|
||||
@@ -211,7 +211,13 @@ public class StIvtMoreorlessmstBcpServiceImpl extends ServiceImpl<StIvtMoreorles
|
||||
.eq(StIvtStructattr::getStruct_id, ivt.getStruct_id())
|
||||
);
|
||||
} else {
|
||||
iStIvtStructivtBcpService.updateById(ivt);
|
||||
// iStIvtStructivtBcpService.updateById(ivt);
|
||||
iStIvtStructivtBcpService.update(
|
||||
new UpdateWrapper<StIvtStructivtBcp>().lambda()
|
||||
.eq(StIvtStructivtBcp::getStruct_id, ivt.getStruct_id())
|
||||
.eq(StIvtStructivtBcp::getMaterial_id, ivt.getMaterial_id())
|
||||
.set(StIvtStructivtBcp::getCanuse_qty, NumberUtil.sub(canuse_qty, mol_qty))
|
||||
);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
@@ -274,7 +280,13 @@ public class StIvtMoreorlessmstBcpServiceImpl extends ServiceImpl<StIvtMoreorles
|
||||
iMdPbStoragevehicleextService.updateById(vehicleDao);
|
||||
}
|
||||
|
||||
iStIvtStructivtBcpService.updateById(ivt);
|
||||
// iStIvtStructivtBcpService.updateById(ivt);
|
||||
iStIvtStructivtBcpService.update(
|
||||
new UpdateWrapper<StIvtStructivtBcp>().lambda()
|
||||
.eq(StIvtStructivtBcp::getStruct_id, ivt.getStruct_id())
|
||||
.eq(StIvtStructivtBcp::getMaterial_id, ivt.getMaterial_id())
|
||||
.set(StIvtStructivtBcp::getCanuse_qty, NumberUtil.add(canuse_qty, mol_qty))
|
||||
);
|
||||
}
|
||||
|
||||
//更新明细状态
|
||||
|
||||
@@ -382,7 +382,13 @@ public class StIvtShutframeinvBcpServiceImpl extends ServiceImpl<StIvtShutframei
|
||||
}
|
||||
in_ivt.setCanuse_qty(NumberUtil.add(in_ivt.getCanuse_qty(), dtl.getFact_qty()));
|
||||
structivtBcpService.remove(new QueryWrapper<StIvtStructivtBcp>().eq("struct_id", turnout_struct_id));
|
||||
structivtBcpService.updateById(in_ivt);
|
||||
// structivtBcpService.updateById(in_ivt);
|
||||
|
||||
structivtBcpService.update(
|
||||
new UpdateWrapper<StIvtStructivtBcp>().lambda()
|
||||
.eq(StIvtStructivtBcp::getStruct_id, in_ivt.getStruct_id())
|
||||
.set(StIvtStructivtBcp::getCanuse_qty, NumberUtil.add(in_ivt.getCanuse_qty(), dtl.getFact_qty()))
|
||||
);
|
||||
|
||||
dtl.setWork_status(SHUTEnum.WORK_STATUS.code("完成"));
|
||||
shutframedtlBcpService.updateById(dtl);
|
||||
|
||||
Reference in New Issue
Block a user