diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/common/enums/StatusEnum.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/common/enums/StatusEnum.java index b5951a14..251b2073 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/common/enums/StatusEnum.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/common/enums/StatusEnum.java @@ -34,12 +34,13 @@ public enum StatusEnum { IOBILL_TYPE_IN(ForkMap.of("生产入库", "10","inStorageTask", "调拨入库", "11","inStorageTask", "退货入库", "12","inStorageTask","拣选回库", "13","inStorageTask","盘点入库", "14","inStorageTask","托盘入库", "30","inStorageTask")), IOBILL_TYPE_OUT(ForkMap.of("销售出库", "20","outStorageTask","生产出库", "21","outStorageTask", "调拨出库", "22","outStorageTask","拣选出库", "23","conveyorOutStorageTask","盘点出库", "24","outStorageTask","出库拣选", "25","toPickPlatformTask","托盘出库", "40","outStorageTask")), IOBILL_TYPE_MOVE(ForkMap.of("移库", "50","moveStorageTask")), + EXT_TASK_TYPE(ForkMap.of("盘点", "60","moveStorageTask")), profit_loss(ForkMap.of("盘亏", "0",null,"盘盈", "1",null,"实盘", "2",null)), /** * 任务类型 */ - TASK_TYPE(ForkMap.pushAll(IOBILL_TYPE_IN.code,IOBILL_TYPE_OUT.code,IOBILL_TYPE_MOVE.code)), + TASK_TYPE(ForkMap.pushAll(IOBILL_TYPE_IN.code,IOBILL_TYPE_OUT.code,IOBILL_TYPE_MOVE.code,EXT_TASK_TYPE.code)), ACS_TYPE(ForkMap.of("立库", "10",null ,"海柔", "20",null diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/bsrealstorattr/controller/StIvtBsrealstorattrController.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/bsrealstorattr/controller/StIvtBsrealstorattrController.java index 6ed6da6d..7c3f45ff 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/bsrealstorattr/controller/StIvtBsrealstorattrController.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/bsrealstorattr/controller/StIvtBsrealstorattrController.java @@ -94,6 +94,7 @@ public class StIvtBsrealstorattrController { int 层 = config.getInteger("z"); String sect_code = config.getString("sect_code"); String stor_code = config.getString("stor_code"); + String pre = config.getString("pre"); String now = DateUtil.now(); ArrayList list = new ArrayList<>(); for (int x = 1; x <= 排; x++) { @@ -103,9 +104,10 @@ public class StIvtBsrealstorattrController { attr.setId(IdUtil.getStringId()); attr.setSect_code(sect_code); attr.setStor_code(stor_code); + String nx = (x < 10) ? "0" + x : "" + x; String ny = (y < 10) ? "0" + y : "" + y; String nz = (z < 10) ? "0" + z : "" + z; - attr.setStruct_code("L0"+x+"-"+ny+"-"+nz); + attr.setStruct_code(pre+nx+"-"+ny+"-"+nz); attr.setStruct_name(x+"排"+y+"列"+z+"层"); attr.setCreate_id("1"); attr.setRow_num(x); diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/sect/controller/StIvtSectattrController.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/sect/controller/StIvtSectattrController.java index 19f44701..0068aa04 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/sect/controller/StIvtSectattrController.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/sect/controller/StIvtSectattrController.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import org.nl.common.TableDataInfo; import org.nl.common.anno.Log; import org.nl.common.domain.entity.PageQuery; +import org.nl.wms.base_manage.bsrealstorattr.service.IStIvtBsrealstorattrService; import org.nl.wms.base_manage.sect.service.IStIvtSectattrService; import org.nl.wms.base_manage.sect.service.dao.StIvtSectattr; import org.nl.wms.base_manage.sect.service.dto.SectQuery; @@ -15,6 +16,7 @@ import org.springframework.http.ResponseEntity; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import java.util.Arrays; import java.util.List; import java.util.Map; @@ -35,10 +37,12 @@ public class StIvtSectattrController { */ @Autowired private IStIvtSectattrService iStIvtSectattrService; + @Autowired + private IStIvtBsrealstorattrService iStIvtBsrealstorattrService; @GetMapping public ResponseEntity query(SectQuery query, PageQuery page) { - return new ResponseEntity<>(iStIvtSectattrService.pageQuery(query, page), HttpStatus.OK); + return new ResponseEntity<>(TableDataInfo.build(iStIvtSectattrService.page(page.build(),query.build())), HttpStatus.OK); } @PostMapping @@ -55,7 +59,9 @@ public class StIvtSectattrController { @DeleteMapping public ResponseEntity delete(@RequestBody Long[] ids) { - iStIvtSectattrService.deleteAll(ids); + if (ids.length>0){ + iStIvtSectattrService.removeByIds(Arrays.asList(ids)); + } return new ResponseEntity<>(HttpStatus.OK); } diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/sect/service/dao/StIvtSectattr.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/sect/service/dao/StIvtSectattr.java index 3714bab5..c0d0a4ea 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/sect/service/dao/StIvtSectattr.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/sect/service/dao/StIvtSectattr.java @@ -54,7 +54,7 @@ public class StIvtSectattr implements Serializable { /** * 仓库标识 */ - private String stor_id; + private String stor_code; /** * 仓库类型 diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/sect/service/dto/SectQuery.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/sect/service/dto/SectQuery.java index a1087031..035af22d 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/sect/service/dto/SectQuery.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/sect/service/dto/SectQuery.java @@ -5,6 +5,7 @@ import org.nl.common.domain.entity.BaseQuery; import org.nl.common.domain.entity.QParam; import org.nl.common.enums.QueryTEnum; import org.nl.wms.base_manage.bsrealstorattr.service.dao.StIvtBsrealstorattr; +import org.nl.wms.base_manage.sect.service.dao.StIvtSectattr; /** * 仓库查询条件 @@ -12,7 +13,7 @@ import org.nl.wms.base_manage.bsrealstorattr.service.dao.StIvtBsrealstorattr; * @Date 2023/11/10 14:49 */ @Data -public class SectQuery extends BaseQuery { +public class SectQuery extends BaseQuery { /** * 仓库编码 diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/sect/service/impl/StIvtSectattrServiceImpl.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/sect/service/impl/StIvtSectattrServiceImpl.java index eedc5900..9ea6525f 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/sect/service/impl/StIvtSectattrServiceImpl.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/sect/service/impl/StIvtSectattrServiceImpl.java @@ -59,7 +59,6 @@ public class StIvtSectattrServiceImpl extends ServiceImpl().eq("stor_code",dao.getStor_code())); dao.setStor_type(attrDao.getStor_type_scode()); this.save(dao); @@ -89,18 +88,14 @@ public class StIvtSectattrServiceImpl extends ServiceImpl().eq("stor_code",dao.getStor_code())); dao.setStor_type(attrDao.getStor_type_scode()); this.updateById(dao); diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/handler/impl/OutStorageTask.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/handler/impl/OutStorageTask.java index a5291a54..c9f23bf1 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/handler/impl/OutStorageTask.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/task/handler/impl/OutStorageTask.java @@ -68,7 +68,7 @@ public class OutStorageTask extends AbstractTask { throw new BadRequestException("创建任务失败:方法请求参数不能为空"); } List list = taskService.list(new QueryWrapper().eq("vehicle_code", vehicle_code) - .ne("status", StatusEnum.FORM_STATUS.code("完成"))); + .lt("status", StatusEnum.FORM_STATUS.code("完成"))); if (!CollectionUtils.isEmpty(list)){ throw new BadRequestException("当前载具存在任务:"+list.stream().map(SchBaseTask::getTask_code).collect(Collectors.joining(","))); } diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/engine/behavior/impl/ExecuteFlowActivityBehavior.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/engine/behavior/impl/ExecuteFlowActivityBehavior.java index 092b53a9..f588914c 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/engine/behavior/impl/ExecuteFlowActivityBehavior.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/engine/behavior/impl/ExecuteFlowActivityBehavior.java @@ -45,24 +45,31 @@ public class ExecuteFlowActivityBehavior extends FlowNodeActivityBehavior() .eq("id", one.getForm_id()).eq("form_type", one.getForm_type())); - sourceData = (JSONObject) JSON.toJSON(formData); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("t", JSON.toJSON(formData)); + jsonObject.put("form_type",formData.getForm_type()); + jsonObject.put("form_id",formData.getId()); + sourceData = jsonObject; break; default: throw new IllegalStateException("Unexpected value: " + dataSource); } String skipExpression = executeFlow.getSkipExpression(); if (StringUtils.isNotEmpty(skipExpression)) { - Boolean parse = SpelUtil.parse(sourceData, skipExpression, Boolean.class); + Boolean parse = SpelUtil.parse(sourceData.getJSONObject("t"), skipExpression, Boolean.class); if (!parse){ throw new BadRequestException("当前中转节点数据校验不通过"+skipExpression+",无法跳转到下个节点"); } } //处理流程线:将结果值封装 + entity.setT(sourceData); + entity.setForm_id(one.getForm_id()); + entity.setForm_type(one.getForm_type()); super.execute(entity); } diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/engine/behavior/impl/StartEventActivityBehavior.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/engine/behavior/impl/StartEventActivityBehavior.java index 11fa6fb1..26af14b0 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/engine/behavior/impl/StartEventActivityBehavior.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/engine/behavior/impl/StartEventActivityBehavior.java @@ -3,6 +3,7 @@ package org.nl.wms.flow_manage.flow.framework.engine.behavior.impl; import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import org.apache.commons.lang3.StringUtils; import org.nl.common.domain.exception.BadRequestException; import org.nl.common.enums.StatusEnum; @@ -88,7 +89,11 @@ public class StartEventActivityBehavior extends FlowNodeActivityBehavior { execution.setCreate_time(DateUtil.now()); execution.setStatus(StatusEnum.FLOW_STATUS.code("启动")); iActRuExecutionService.save(execution); - + if (StringUtils.isNotEmpty(entity.getParent_id())){ + iActRuExecutionService.update(new UpdateWrapper() + .set("has",true) + .eq("proc_inst_id",entity.getParent_id())); + } entity.setProc_inst_id(execution.getProc_inst_id()); } diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/process/nodeType/excess/impl/MappingHandler.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/process/nodeType/excess/impl/MappingHandler.java index 7f0e7c99..8fef992c 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/process/nodeType/excess/impl/MappingHandler.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/framework/process/nodeType/excess/impl/MappingHandler.java @@ -4,8 +4,11 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.google.common.cache.Cache; +import com.google.common.cache.CacheBuilder; import com.google.common.collect.Lists; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.queue.CircularFifoQueue; import org.apache.commons.lang3.StringUtils; import org.apache.poi.ss.formula.functions.T; import org.nl.common.domain.exception.BadRequestException; @@ -17,9 +20,11 @@ import org.nl.wms.flow_manage.flow.framework.entity.ExecutionEntity; import org.nl.wms.flow_manage.flow.framework.process.nodeType.TypeHandler; import org.nl.wms.pm_manage.form_data.service.dto.PmFormDataDto; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.cache.CacheProperties; import org.springframework.stereotype.Service; import java.util.*; +import java.util.concurrent.ConcurrentLinkedQueue; /* * @author ZZQ @@ -34,7 +39,6 @@ public class MappingHandler extends TypeHandler { public JSONObject handler(List param, JSONObject data, BmFormStruc form_struc) { log.info("映射信息:数据:{},映射关系:{},目标表结构:{}",data.toJSONString(),param.toString(),form_struc.getForm_type()+"_"+form_struc.getForm_param().toJSONString()); JSONObject resultT = new JSONObject(); - JSONObject mapping = JSONObject.parseObject(param.size()==1?param.get(0):param.remove(0)); JSONObject sourceFormData = new JSONObject(data.getJSONObject("t")); //数据平铺 diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/service/classprocessimpl/StorageChangesProcessHandler.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/service/classprocessimpl/StorageChangesProcessHandler.java index dbc559b3..65bb84bd 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/service/classprocessimpl/StorageChangesProcessHandler.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/service/classprocessimpl/StorageChangesProcessHandler.java @@ -66,12 +66,11 @@ public class StorageChangesProcessHandler implements ClassProcess { //基于单据变动 Map spelMap = new HashMap<>(); Map valueMap = new HashMap<>(); + // "start_struct_code","end_struct_code","change_qty" for (String base_field : Base_Fields) { - String skip = param.getString("base_field"); - if (skip.contains("#M")){ - spelMap.put(base_field,skip); - }else { - valueMap.put(base_field,skip); + String skip = param.getString(base_field); + if (StringUtils.isNotEmpty(skip)){ + (skip.contains("#M") ? spelMap : valueMap).put(base_field,skip); } } if (!CollectionUtils.isEmpty(spelMap)){ @@ -80,12 +79,12 @@ public class StorageChangesProcessHandler implements ClassProcess { } String start_struct_code = valueMap.get("start_struct_code"); String end_struct_code = valueMap.get("end_struct_code"); - String change_qty = StringUtils.isEmpty(valueMap.get("change_qty"))?null:valueMap.get("change_qty"); + BigDecimal change_qty = StringUtils.isEmpty(valueMap.get("change_qty"))?null:new BigDecimal(valueMap.get("change_qty")); if (StringUtils.isNotEmpty(start_struct_code)){ - iStIvtStructattrService.changeStruct(start_struct_code,vehicle_code,param.getString("task_type"), new BigDecimal(change_qty),Boolean.FALSE); + iStIvtStructattrService.changeStruct(start_struct_code,vehicle_code,param.getString("task_type"), change_qty,Boolean.FALSE); } if (StringUtils.isNotEmpty(end_struct_code)){ - iStIvtStructattrService.changeStruct(end_struct_code,vehicle_code,param.getString("task_type"), new BigDecimal(change_qty),Boolean.TRUE); + iStIvtStructattrService.changeStruct(end_struct_code,vehicle_code,param.getString("task_type"), change_qty,change_qty.intValue()<0?Boolean.FALSE:Boolean.TRUE); } } return from; diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/service/execution/dao/ActRuExecution.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/service/execution/dao/ActRuExecution.java index 68b9a5e5..cada96ef 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/service/execution/dao/ActRuExecution.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/service/execution/dao/ActRuExecution.java @@ -39,6 +39,10 @@ public class ActRuExecution implements Serializable { * 父流程id */ private String parent_id; + /** + * 是否含有子流程 + */ + private Boolean has; /** * 当前实例对应版本的部署id diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/service/execution/impl/ActRuExecutionServiceImpl.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/service/execution/impl/ActRuExecutionServiceImpl.java index cca9ac46..702b21e8 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/service/execution/impl/ActRuExecutionServiceImpl.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/service/execution/impl/ActRuExecutionServiceImpl.java @@ -50,8 +50,8 @@ public class ActRuExecutionServiceImpl extends ServiceImpl build = (QueryWrapper) query.build(); build.isNull("parent_id"); Page executionPage = this.page(page.build(), build); - List records = executionPage.getRecords(); - this.findChildren(records); +// List records = executionPage.getRecords(); +// this.findChildren(records); return TableDataInfo.build(executionPage); } diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/stor_manage/checkStorage/controller/CheckController.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/stor_manage/checkStorage/controller/CheckController.java index db0d1b1a..d88bb9d4 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/stor_manage/checkStorage/controller/CheckController.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/stor_manage/checkStorage/controller/CheckController.java @@ -95,16 +95,13 @@ public class CheckController { @Log("盘点完成") public ResponseEntity checkFinish(@RequestBody JSONObject param) { //TODO:明细校验 - PmFormData pmFormData = param.toJavaObject(PmFormData.class); - iPmFormDataService.update(new UpdateWrapper() - .set("status", StatusEnum.FORM_STATUS.code("已分配")) - .set("form_data",param.getJSONObject("form_data").toJSONString()) - .eq("id",param.getString("id"))); + checkStorageService.checkFinish(param); return new ResponseEntity<>(HttpStatus.OK); } @DeleteMapping() + @Log("删除盘点单") public ResponseEntity delete(@RequestBody String[] ids) { checkStorageService.delete(ids); return new ResponseEntity<>(HttpStatus.OK); diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/stor_manage/checkStorage/service/CheckStorageService.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/stor_manage/checkStorage/service/CheckStorageService.java index dd16a6e4..bf6a992e 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/stor_manage/checkStorage/service/CheckStorageService.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/stor_manage/checkStorage/service/CheckStorageService.java @@ -3,15 +3,18 @@ package org.nl.wms.stor_manage.checkStorage.service; import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import org.apache.commons.lang3.StringUtils; import org.nl.common.domain.exception.BadRequestException; import org.nl.common.enums.StatusEnum; +import org.nl.common.function.PermeateFunction; import org.nl.common.publish.BussEventMulticaster; import org.nl.common.utils.CodeUtil; import org.nl.common.utils.IdUtil; import org.nl.common.utils.SecurityUtils; import org.nl.wms.flow_manage.flow.framework.entity.ExecutionDto; +import org.nl.wms.flow_manage.monitor.event.FlowContinueEvent; import org.nl.wms.flow_manage.monitor.event.FlowStartEvent; import org.nl.wms.md_manage.vehicleMater.service.IMdPbVehicleMaterService; import org.nl.wms.md_manage.vehicleMater.service.dao.MdPbVehicleMater; @@ -24,6 +27,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; +import java.math.BigDecimal; import java.util.*; import java.util.stream.Collectors; @@ -124,7 +128,6 @@ public class CheckStorageService { .eq("id",mst.getId())); }); BussEventMulticaster.Publish(startEvent); - } private List packageT(JSONObject current,String itemField){ String id = current.getString(itemField); @@ -146,4 +149,31 @@ public class CheckStorageService { } return null; } + + public void checkFinish(JSONObject form){ + List dtls = iFormDataService.getByParentId(form.getString("id")); + + List tmpCollect = dtls.stream().map(PmFormData::getVehicle_code).collect(Collectors.toList()); + Map vehicleMap = iMdPbVehicleMaterService.list(new QueryWrapper() + .select("vehicle_code", "proc_inst_id") + .in("vehicle_code", tmpCollect) + .last("group by vehicle_code")).stream().collect(HashMap::new, (formMap, o) -> { + formMap.put(o.getVehicle_code(), o.getProc_inst_id()); + }, HashMap::putAll); + //更新载具物料关系 + for (PmFormData dtl : dtls) { + iMdPbVehicleMaterService.update(new UpdateWrapper() + .set("qty",dtl.getForm_data().getBigDecimal("change_qty")) + .eq("vehicle_code",dtl.getVehicle_code())); + } + for (PmFormData dtl : dtls) { + FlowContinueEvent continueEvent = new FlowContinueEvent(vehicleMap.get(dtl.getVehicle_code()), null, null); + continueEvent.setCallback(emp->{ + iFormDataService.update(new UpdateWrapper() + .set("status",StatusEnum.FORM_STATUS.code("执行中")) + .eq("id",dtl.getId())); + }); + BussEventMulticaster.Publish(continueEvent); + } + } } diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/stor_manage/struct/service/impl/StIvtStructattrServiceImpl.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/stor_manage/struct/service/impl/StIvtStructattrServiceImpl.java index 5953df89..c10aad72 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/stor_manage/struct/service/impl/StIvtStructattrServiceImpl.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/stor_manage/struct/service/impl/StIvtStructattrServiceImpl.java @@ -86,7 +86,7 @@ public class StIvtStructattrServiceImpl extends ServiceImpl @@ -148,7 +148,12 @@ - + + + + diff --git a/wms_pro/qd/src/views/wms/base_manage/struct/index.vue b/wms_pro/qd/src/views/wms/base_manage/struct/index.vue index b9780975..e6094622 100644 --- a/wms_pro/qd/src/views/wms/base_manage/struct/index.vue +++ b/wms_pro/qd/src/views/wms/base_manage/struct/index.vue @@ -209,7 +209,11 @@ --> - + + + @@ -322,7 +326,7 @@ export default { name: 'Structattr', dicts: ['ST_HEIGHT_TYPE', 'is_used', 'd_lock_type', 'SCH_TASK_TYPE_DTL', 'placement_type'], statusEnums: ['LOCK'], - tableEnums: [ 'st_ivt_bsrealstorattr#stor_name#stor_code' ], + tableEnums: [ 'st_ivt_bsrealstorattr#stor_name#stor_code','st_ivt_sectattr#sect_name#sect_code' ], components: { pagination, crudOperation, rrOperation, udOperation }, mixins: [presenter(), header(), form(defaultForm), crud()], cruds() { diff --git a/wms_pro/qd/src/views/wms/flow_manage/act/execution/index.vue b/wms_pro/qd/src/views/wms/flow_manage/act/execution/index.vue index f99c0893..06ccc0cf 100644 --- a/wms_pro/qd/src/views/wms/flow_manage/act/execution/index.vue +++ b/wms_pro/qd/src/views/wms/flow_manage/act/execution/index.vue @@ -83,7 +83,7 @@ :data="crud.data" row-key="proc_inst_id" border - :tree-props="{ children: 'children', hasChildren: 'hasChildren' }" + :tree-props="{ children: 'children', hasChildren: 'has' }" size="small" style="width: 100%;" > @@ -296,15 +296,15 @@ export default { }) }, flowConfirm(proc_inst_id) { - curdExecution.flowConfirm(proc_inst_id).then(res => { + curdExecution.flowConfirm(proc_inst_id).then(res => { crud.notify('操作成功', CRUD.NOTIFICATION_TYPE.SUCCESS) }) this.crud.toQuery() }, - load(tree, treeNode, resolve) { - setTimeout(() => { - resolve(tree.children) - }, 100) + async load(tree, treeNode, resolve) { + curdExecution.queryByParentId(tree.proc_inst_id).then(res => { + resolve(res) + }) }, changeActive(row) { curdExecution.changeActive(row) diff --git a/wms_pro/qd/src/views/wms/stor_manage/record/index.vue b/wms_pro/qd/src/views/wms/stor_manage/record/index.vue index 6164b44e..86654591 100644 --- a/wms_pro/qd/src/views/wms/stor_manage/record/index.vue +++ b/wms_pro/qd/src/views/wms/stor_manage/record/index.vue @@ -98,11 +98,16 @@ + - + + + @@ -151,6 +156,7 @@ export default { dicts: [], name: 'StructIvtFlow', components: {pagination, crudOperation, rrOperation, udOperation}, + statusEnums: ['TASK_TYPE'], mixins: [presenter(), header(), form(defaultForm), crud()], cruds() { return CRUD({ diff --git a/wms_pro/qd/src/views/wms/stor_manage/storIvtInfo/StructAttrDialog.vue b/wms_pro/qd/src/views/wms/stor_manage/storIvtInfo/StructAttrDialog.vue index 63f8c188..5ab59347 100644 --- a/wms_pro/qd/src/views/wms/stor_manage/storIvtInfo/StructAttrDialog.vue +++ b/wms_pro/qd/src/views/wms/stor_manage/storIvtInfo/StructAttrDialog.vue @@ -62,7 +62,11 @@ - + + + @@ -126,7 +130,7 @@ export default { }}) }, mixins: [presenter(), header()], - tableEnums: [ 'bm_measure_unit#unit_name#unit_id' ], + tableEnums: [ 'bm_measure_unit#unit_name#unit_id','st_ivt_sectattr#sect_name#sect_code' ], statusEnums: [ 'LOCK' ], props: { dialogShow: { diff --git a/wms_pro/qd/src/views/wms/stor_manage/warehouse/checkStorage/AddDialog.vue b/wms_pro/qd/src/views/wms/stor_manage/warehouse/checkStorage/AddDialog.vue index 40d27349..27957703 100644 --- a/wms_pro/qd/src/views/wms/stor_manage/warehouse/checkStorage/AddDialog.vue +++ b/wms_pro/qd/src/views/wms/stor_manage/warehouse/checkStorage/AddDialog.vue @@ -286,6 +286,7 @@ export default { data.unit_id = row.unit_id data.form_type = 'st_ivt_checkdtl' data.form_data = {} + data.end_struct_code = row.struct_code this.dtlCols.forEach(a=>{ let item = '' if (a.value in data) { diff --git a/wms_pro/qd/src/views/wms/stor_manage/warehouse/checkStorage/TaskDialog.vue b/wms_pro/qd/src/views/wms/stor_manage/warehouse/checkStorage/TaskDialog.vue index 9b433a67..538800e7 100644 --- a/wms_pro/qd/src/views/wms/stor_manage/warehouse/checkStorage/TaskDialog.vue +++ b/wms_pro/qd/src/views/wms/stor_manage/warehouse/checkStorage/TaskDialog.vue @@ -115,7 +115,7 @@ @@ -307,13 +307,13 @@ export default { this.$refs['form2'].resetFields() }, qtyClick(row){ - if (row.form_data.check_qty > row.qty){ + if (row.form_data.change_qty > row.qty){ this.$set(row.form_data, 'profit_loss', '1') } - if (row.form_data.check_qty < row.qty){ + if (row.form_data.change_qty < row.qty){ this.$set(row.form_data, 'profit_loss', '0') } - if (row.form_data.check_qty == row.qty){ + if (row.form_data.change_qty == row.qty){ this.$set(row.form_data, 'profit_loss', '2') } } diff --git a/wms_pro/qd/src/views/wms/stor_manage/warehouse/checkStorage/index.vue b/wms_pro/qd/src/views/wms/stor_manage/warehouse/checkStorage/index.vue index c0531731..d30cc0b8 100644 --- a/wms_pro/qd/src/views/wms/stor_manage/warehouse/checkStorage/index.vue +++ b/wms_pro/qd/src/views/wms/stor_manage/warehouse/checkStorage/index.vue @@ -268,7 +268,7 @@ export default { if (row.status == '13'){ this.finish_flag = false }else { - this.finish_flag = false + this.finish_flag = true } this.dis_flag = false this.currentRow = row @@ -293,6 +293,14 @@ export default { }) } }, + checkFinish(row) { + if (this.currentRow !== null) { + crudCheck.checkFinish(this.currentRow).then(res => { + this.crud.notify('盘点确认', CRUD.NOTIFICATION_TYPE.SUCCESS) + this.crud.toQuery() + }) + } + }, toDelete(id) { if (id !== null) { crudCheck.del([id]).then(res => { diff --git a/wms_pro/qd/src/views/wms/stor_manage/warehouse/profitAndLoss/formData.js b/wms_pro/qd/src/views/wms/stor_manage/warehouse/profitAndLoss/formData.js new file mode 100644 index 00000000..dc84c7ca --- /dev/null +++ b/wms_pro/qd/src/views/wms/stor_manage/warehouse/profitAndLoss/formData.js @@ -0,0 +1,49 @@ +import request from '@/utils/request' + +export function add(data) { + return request({ + url: 'api/pmFormData', + method: 'post', + data + }) +} + +export function del(ids) { + return request({ + url: 'api/pmFormData', + method: 'delete', + data: ids + }) +} + +export function edit(data) { + return request({ + url: 'api/pmFormData', + method: 'put', + data + }) +} + +export function getFormType() { + return request({ + url: 'api/bmFormStruc/getTypes', + method: 'get', + }) +} + +export function getParentFormTypes() { + return request({ + url: 'api/bmFormStruc/getParentFormTypes', + method: 'get', + }) +} + +export function getSonFormData(id) { + return request({ + url: 'api/pmFormData/getSonFormData/' + id, + method: 'get', + }) +} + + +export default {add, edit, del, getFormType, getParentFormTypes, getSonFormData} diff --git a/wms_pro/qd/src/views/wms/stor_manage/warehouse/profitAndLoss/index.vue b/wms_pro/qd/src/views/wms/stor_manage/warehouse/profitAndLoss/index.vue new file mode 100644 index 00000000..c6f12acd --- /dev/null +++ b/wms_pro/qd/src/views/wms/stor_manage/warehouse/profitAndLoss/index.vue @@ -0,0 +1,267 @@ + + + + + diff --git a/wms_pro/qd/src/views/wms/stor_manage/warehouse/profitAndLoss/pl.js b/wms_pro/qd/src/views/wms/stor_manage/warehouse/profitAndLoss/pl.js new file mode 100644 index 00000000..c904b31a --- /dev/null +++ b/wms_pro/qd/src/views/wms/stor_manage/warehouse/profitAndLoss/pl.js @@ -0,0 +1,42 @@ +import request from '@/utils/request' + +export function add(data) { + return request({ + url: '/api/move/save', + method: 'post', + data + }) +} + +export function del(ids) { + return request({ + url: 'api/move', + method: 'delete', + data: ids + }) +} + +export function edit(data) { + return request({ + url: 'api/move', + method: 'post', + data + }) +} +export function updateStatus(data) { + return request({ + url: '/api/move/updateStatus', + method: 'post', + data + }) +} + +export function taskopen(data) { + return request({ + url: '/api/move/taskOpen', + method: 'post', + data + }) +} + +export default {add, edit, del, updateStatus, taskopen}