|
|
|
|
@@ -25,6 +25,10 @@ import org.nl.modules.common.exception.BadRequestException;
|
|
|
|
|
import org.nl.modules.system.util.CodeUtil;
|
|
|
|
|
import org.nl.modules.wql.util.SpringContextHolder;
|
|
|
|
|
import org.nl.wms.ext_manage.acs.service.WmsToAcsService;
|
|
|
|
|
import org.nl.wms.masterdata_manage.service.master.IMdPbMeasureunitService;
|
|
|
|
|
import org.nl.wms.masterdata_manage.service.master.dao.MdPbMeasureunit;
|
|
|
|
|
import org.nl.wms.masterdata_manage.service.material.IMdMeMaterialbaseService;
|
|
|
|
|
import org.nl.wms.masterdata_manage.service.material.dao.MdMeMaterialbase;
|
|
|
|
|
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;
|
|
|
|
|
@@ -37,6 +41,7 @@ import org.nl.wms.scheduler_manage.service.task.ISchBaseTaskService;
|
|
|
|
|
import org.nl.wms.scheduler_manage.service.task.dao.SchBaseTask;
|
|
|
|
|
import org.nl.wms.storage_manage.CHECKEnum;
|
|
|
|
|
import org.nl.wms.storage_manage.IOSEnum;
|
|
|
|
|
import org.nl.wms.storage_manage.IVTEnum;
|
|
|
|
|
import org.nl.wms.storage_manage.pda.PDAEnum;
|
|
|
|
|
import org.nl.wms.storage_manage.semimanage.service.check.dao.StIvtCheckdtlBcp;
|
|
|
|
|
import org.nl.wms.storage_manage.semimanage.service.check.dao.mapper.StIvtCheckdtlBcpMapper;
|
|
|
|
|
@@ -47,6 +52,7 @@ import org.nl.wms.storage_manage.semimanagehr.service.check.dao.StIvtCheckmstHrB
|
|
|
|
|
import org.nl.wms.storage_manage.semimanagehr.service.check.dao.mapper.StIvtCheckdtlHrBcpMapper;
|
|
|
|
|
import org.nl.wms.storage_manage.semimanagehr.service.check.dao.mapper.StIvtCheckmstHrBcpMapper;
|
|
|
|
|
import org.nl.wms.storage_manage.semimanagehr.service.check.dto.CheckHrQuery;
|
|
|
|
|
import org.nl.wms.storage_manage.semimanagehr.service.iostorInv.IStIvtIostorinvHrBcpOutService;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
@@ -78,18 +84,21 @@ public class StIvtCheckmstHrBcpServiceImpl extends ServiceImpl<StIvtCheckmstHrBc
|
|
|
|
|
@Autowired
|
|
|
|
|
private IStIvtStructattrService structattrService; // 仓位服务
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private StIvtCheckdtlHrBcpMapper checkdtlBcpMapper; // 明细mapper
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private SchBasePointMapper pointMapper; // 点位服务mapper
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private ISchBasePointService iSchBasePointService; // 点位服务
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private ISchBaseTaskService iSchBaseTaskService; // 任务服务
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private IMdMeMaterialbaseService iMdMeMaterialbaseService; // 物料服务
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private IMdPbMeasureunitService iMdPbMeasureunitService; // 计量单位服务
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private IStIvtIostorinvHrBcpOutService iStIvtIostorinvHrBcpOutService; // 半成品出库服务
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public Object pageQuery(CheckHrQuery query, PageQuery page) {
|
|
|
|
|
// 查询条件
|
|
|
|
|
@@ -176,7 +185,7 @@ public class StIvtCheckmstHrBcpServiceImpl extends ServiceImpl<StIvtCheckmstHrBc
|
|
|
|
|
|
|
|
|
|
// 更新明细表
|
|
|
|
|
dtl.setIs_down(IOSEnum.IS_USED.code("是"));
|
|
|
|
|
dtl.setStatus(CHECKEnum.BILL_STATUS.code("盘点中"));
|
|
|
|
|
dtl.setStatus(CHECKEnum.DTL_STATUS.code("盘点中"));
|
|
|
|
|
checkdtlBcpService.updateById(dtl);
|
|
|
|
|
|
|
|
|
|
mst.setStatus(CHECKEnum.BILL_STATUS.code("盘点中"));
|
|
|
|
|
@@ -205,7 +214,7 @@ public class StIvtCheckmstHrBcpServiceImpl extends ServiceImpl<StIvtCheckmstHrBc
|
|
|
|
|
.eq(StIvtCheckdtlHrBcp::getTask_id, task_id)
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
dtlDao.setStatus(CHECKEnum.BILL_STATUS.code("完成"));
|
|
|
|
|
dtlDao.setStatus(CHECKEnum.DTL_STATUS.code("确认完成"));
|
|
|
|
|
dtlDao.setCheck_result(CHECKEnum.CHECK_RESULT.code("正常"));
|
|
|
|
|
checkdtlBcpService.updateById(dtlDao);
|
|
|
|
|
|
|
|
|
|
@@ -222,9 +231,85 @@ public class StIvtCheckmstHrBcpServiceImpl extends ServiceImpl<StIvtCheckmstHrBc
|
|
|
|
|
.eq(SchBaseTask::getTask_id,task_id )
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
// 更新明细
|
|
|
|
|
StIvtCheckdtlHrBcp dtlDao = checkdtlBcpService.getOne(
|
|
|
|
|
new QueryWrapper<StIvtCheckdtlHrBcp>().lambda()
|
|
|
|
|
.eq(StIvtCheckdtlHrBcp::getTask_id, task_id)
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@Transactional
|
|
|
|
|
public void checkOut(JSONObject whereJson) {
|
|
|
|
|
// 校验
|
|
|
|
|
StIvtCheckdtlHrBcp dtlDao = checkdtlBcpService.getOne(
|
|
|
|
|
new QueryWrapper<StIvtCheckdtlHrBcp>().lambda()
|
|
|
|
|
.eq(StIvtCheckdtlHrBcp::getCheckdtl_id, whereJson.getString("checkdtl_id"))
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
if (!dtlDao.getCheck_result().equals(CHECKEnum.CHECK_RESULT.code("异常"))) {
|
|
|
|
|
throw new BadRequestException("此货位不是异常货位,请正常出库!");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 组织出库数据
|
|
|
|
|
*/
|
|
|
|
|
JSONObject param = new JSONObject();
|
|
|
|
|
param.put("biz_date", DateUtil.today());
|
|
|
|
|
param.put("bill_type", IOSEnum.BILL_TYPE_HR.code("盘点出库"));
|
|
|
|
|
param.put("remark", "盘点单生成");
|
|
|
|
|
param.put("product_code", "A3");
|
|
|
|
|
|
|
|
|
|
// 出库点
|
|
|
|
|
SchBasePoint pointDao = iSchBasePointService.getOne(
|
|
|
|
|
new QueryWrapper<SchBasePoint>().lambda()
|
|
|
|
|
.eq(SchBasePoint::getRegion_code, PDAEnum.REGION_CODE.code("海柔半成品出库区域"))
|
|
|
|
|
.eq(SchBasePoint::getIs_used, IOSEnum.IS_USED.code("是"))
|
|
|
|
|
.eq(SchBasePoint::getIs_delete, IOSEnum.IS_USED.code("否"))
|
|
|
|
|
, false);
|
|
|
|
|
if (ObjectUtil.isEmpty(pointDao)) throw new BadRequestException("出库点位异常!");
|
|
|
|
|
param.put("point_code", pointDao.getPoint_code());
|
|
|
|
|
|
|
|
|
|
// 仓库
|
|
|
|
|
param.put("stor_id", PDAEnum.STOR_ID.code("紫铜三线半成品仓库"));
|
|
|
|
|
param.put("auto_send", true);
|
|
|
|
|
|
|
|
|
|
JSONArray tableData = new JSONArray();
|
|
|
|
|
JSONObject row = new JSONObject();
|
|
|
|
|
row.put("material_id", dtlDao.getMaterial_id());
|
|
|
|
|
row.put("plan_qty", dtlDao.getBase_qty());
|
|
|
|
|
row.put("quality_scode", IVTEnum.QUALITY_SCODE.code("合格品"));
|
|
|
|
|
|
|
|
|
|
MdMeMaterialbase materDao = iMdMeMaterialbaseService.getById(whereJson.getString("material_id"));
|
|
|
|
|
MdPbMeasureunit unitDao = iMdPbMeasureunitService.getById(materDao.getBase_unit_id());
|
|
|
|
|
|
|
|
|
|
row.put("qty_unit_id", unitDao.getMeasure_unit_id());
|
|
|
|
|
row.put("qty_unit_name", unitDao.getUnit_name());
|
|
|
|
|
row.put("unit_weight", materDao.getNet_weight());
|
|
|
|
|
row.put("storagevehicle_code", dtlDao.getStoragevehicle_code());
|
|
|
|
|
|
|
|
|
|
StIvtStructattr attrDao = structattrService.getOne(
|
|
|
|
|
new QueryWrapper<StIvtStructattr>().lambda()
|
|
|
|
|
.eq(StIvtStructattr::getStruct_code, whereJson.getString("struct_code"))
|
|
|
|
|
.eq(StIvtStructattr::getIs_used, IOSEnum.IS_USED.code("是")), false
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
row.put("sect_id", attrDao.getSect_id());
|
|
|
|
|
row.put("sect_code", attrDao.getSect_code());
|
|
|
|
|
row.put("sect_name", attrDao.getSect_name());
|
|
|
|
|
row.put("struct_id", attrDao.getStruct_id());
|
|
|
|
|
row.put("struct_code", attrDao.getStruct_code());
|
|
|
|
|
row.put("struct_name", attrDao.getStruct_name());
|
|
|
|
|
|
|
|
|
|
tableData.add(row);
|
|
|
|
|
param.put("tableData",tableData);
|
|
|
|
|
|
|
|
|
|
// 调用半成品出库服务
|
|
|
|
|
iStIvtIostorinvHrBcpOutService.create(param);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@Transactional
|
|
|
|
|
public void delete(Long[] ids) {
|
|
|
|
|
|