rev:盘点下发

This commit is contained in:
2023-06-03 11:44:51 +08:00
parent 8b235687d5
commit bc5c3361ab
6 changed files with 69 additions and 5 deletions

View File

@@ -34,10 +34,11 @@ public enum AcsTaskEnum {
TASK_WARP_EMPTY("8","包装机-送空框"),
TASK_STRUCT_IN("9","入库-生产入库"),
TASK_STRUCT_OUT("10","出库-生产出库"),
TASK_STRUCT_CP_IN("9","入库-成品-生产入库"),
TASK_STRUCT_CP_OUT("10","出库-成品-生产出库"),
TASK_STRUCT_CHECK("11","盘点任务"),
TASK_STRUCT_SHUT("12","拼盘任务"),
TASK_STRUCT_CHECK("14","盘点任务"),
TASK_STRUCT_SHUT("15","拼盘任务"),
TASK_STRUCT_CP_IN("11","入库-成品-生产入库"),
TASK_STRUCT_CP_OUT("12","出库-成品-生产出库"),
TASK_STRUCT_CP_CHECK("13","出库-成品-盘点"),
//回调状态
STATUS_START("1","执行中"),

View File

@@ -52,4 +52,7 @@ public interface IStIvtCheckmstCpService extends IService<StIvtCheckmstCp> {
Object getBucketrecord(JSONObject whereJson);
void processBox(JSONObject whereJson);
void taskOperate(JSONObject form);
}

View File

@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.nl.wms.storage_manage.productmanage.service.check.dao.StIvtCheckdtlCp;
import org.nl.wms.storage_manage.semimanage.service.check.dao.StIvtCheckdtlBcp;
import java.util.List;
import java.util.Map;
@@ -19,4 +20,6 @@ import java.util.Map;
public interface StIvtCheckdtlCpMapper extends BaseMapper<StIvtCheckdtlCp> {
List<Map> getCheckDtl(@Param("map") Map map);
List<StIvtCheckdtlCp> queryCheckDtlByTask(@Param("map") Map map);
}

View File

@@ -34,4 +34,16 @@
</where>
order by CheckDtl.seq_no
</select>
<select id="queryCheckDtlByTask" resultType="org.nl.wms.storage_manage.productmanage.service.check.dao.StIvtCheckdtlCp">
SELECT
dtl.*
FROM
sch_base_task task
LEFT JOIN st_ivt_structattr sa ON sa.struct_code = task.point_code2
LEFT JOIN st_ivt_checkdtl_cp dtl ON dtl.struct_id = sa.struct_id
<where>
task.task_id = #{map.task_id}
</where>
</select>
</mapper>

View File

@@ -14,7 +14,9 @@ import io.jsonwebtoken.lang.Assert;
import org.jetbrains.annotations.NotNull;
import org.nl.common.TableDataInfo;
import org.nl.common.domain.query.PageQuery;
import org.nl.common.enums.AcsTaskEnum;
import org.nl.common.utils.IdUtil;
import org.nl.common.utils.MapOf;
import org.nl.common.utils.SecurityUtils;
import org.nl.modules.common.exception.BadRequestException;
import org.nl.modules.system.util.CodeUtil;
@@ -29,6 +31,7 @@ import org.nl.wms.storage_manage.productmanage.service.check.IStIvtCheckdtlCpSer
import org.nl.wms.storage_manage.productmanage.service.check.IStIvtCheckmstCpService;
import org.nl.wms.storage_manage.productmanage.service.check.dao.StIvtCheckdtlCp;
import org.nl.wms.storage_manage.productmanage.service.check.dao.StIvtCheckmstCp;
import org.nl.wms.storage_manage.productmanage.service.check.dao.mapper.StIvtCheckdtlCpMapper;
import org.nl.wms.storage_manage.productmanage.service.check.dao.mapper.StIvtCheckmstCpMapper;
import org.nl.wms.storage_manage.productmanage.service.check.dto.CheckQueryMst;
import org.nl.wms.storage_manage.productmanage.service.moreOrLess.IStIvtMoreorlessmstCpService;
@@ -38,6 +41,8 @@ import org.nl.wms.storage_manage.rawmanage.service.check.dao.StIvtCheckmstYl;
import org.nl.wms.storage_manage.rawmanage.service.check.dto.CheckQuery;
import org.nl.wms.storage_manage.rawmanage.service.moveOrLess.IStIvtMoreorlessmstYlService;
import org.nl.wms.storage_manage.semimanage.MLEnum;
import org.nl.wms.storage_manage.semimanage.service.check.dao.StIvtCheckdtlBcp;
import org.nl.wms.storage_manage.semimanage.service.check.dao.StIvtCheckmstBcp;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -77,6 +82,10 @@ public class StIvtCheckmstCpServiceImpl extends ServiceImpl<StIvtCheckmstCpMappe
@Autowired(required = false)
private MdPbBucketrecordMapper mdPbBucketrecordMapper; // 箱mapper服务
@Autowired(required = false)
private StIvtCheckdtlCpMapper stIvtCheckdtlCpMapper;
@Override
public Object pageQuery(CheckQueryMst query, PageQuery page) {
// 查询条件
@@ -438,6 +447,37 @@ public class StIvtCheckmstCpServiceImpl extends ServiceImpl<StIvtCheckmstCpMappe
this.updateById(jo_mst);
}
@Override
public void taskOperate(JSONObject form) {
String task_id = form.getString("task_id");
String status = form.getString("status");
List<StIvtCheckdtlCp> dtl_list = stIvtCheckdtlCpMapper.queryCheckDtlByTask(MapOf.of("task_id", task_id));
StIvtCheckdtlCp dtl = dtl_list.get(0);
if (status.equals(AcsTaskEnum.STATUS_FINISH.getCode()) && dtl.getIs_down().equals("2")) {
iStIvtCheckdtlCpService.update(new UpdateWrapper<StIvtCheckdtlCp>()
.set("status", CHECKEnum.DTL_STATUS.code("完成"))
.eq("struct_id", dtl.getStruct_id())
.eq("check_id", dtl.getCheck_id()));
//判断是否存在未完成的明细
List<StIvtCheckdtlCp> list = iStIvtCheckdtlCpService.list(new QueryWrapper<StIvtCheckdtlCp>().eq("check_id", dtl.getCheck_id())
.ne("status", CHECKEnum.DTL_STATUS.code("完成")));
if (list.size() == 0) {
StIvtCheckmstCp jo_mst = this.getOne(new QueryWrapper<StIvtCheckmstCp>().eq("check_id", dtl.getCheck_id()));
jo_mst.setStatus(CHECKEnum.BILL_STATUS.code("完成"));
jo_mst.setConfirm_optid(SecurityUtils.getCurrentUserId());
jo_mst.setConfirm_optname(SecurityUtils.getCurrentNickName());
jo_mst.setConfirm_time(DateUtil.now());
//解锁起点点位、仓位
List<StIvtCheckdtlCp> finish_list = iStIvtCheckdtlCpService.list(new QueryWrapper<StIvtCheckdtlCp>().eq("check_id", dtl.getCheck_id())
.eq("status", CHECKEnum.DTL_STATUS.code("完成")));
finish_list.stream()
.map(StIvtCheckdtlCp::getStruct_id)
.distinct()
.forEach(struct_id -> structattrService.update(new UpdateWrapper<StIvtStructattr>().set("inv_code", "").set("lock_type", "0").eq("struct_id", struct_id)));
}
}
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(Long[] ids) {

View File

@@ -5,6 +5,7 @@ import lombok.AllArgsConstructor;
import lombok.Getter;
import org.nl.common.enums.AcsTaskEnum;
import org.nl.modules.wql.util.SpringContextHolder;
import org.nl.wms.storage_manage.productmanage.service.check.IStIvtCheckmstCpService;
import org.nl.wms.storage_manage.productmanage.service.iostorInv.IStIvtIostorinvCpOutService;
import org.nl.wms.storage_manage.productmanage.service.iostorInv.IStIvtIostorinvCpService;
import org.nl.wms.storage_manage.rawmanage.service.check.IStIvtCheckmstYlService;
@@ -43,7 +44,11 @@ public enum TASKEnum implements FunctionStrategy<String, JSONObject> {
IStIvtIostorinvCpOutService bean = SpringContextHolder.getBean(IStIvtIostorinvCpOutService.class);
bean.taskOperate(form);
}),
CP_CHECK_TASK(type -> AcsTaskEnum.TASK_STRUCT_CP_OUT.getCode().equals(type), form -> {
IStIvtCheckmstCpService bean = SpringContextHolder.getBean(IStIvtCheckmstCpService.class);
bean.taskOperate(form);
}),
;
private final Predicate<String> predicate;