From 49300aa60d4daafd1e73994a0abecaed703b672d Mon Sep 17 00:00:00 2001 From: zds <2388969634@qq.com> Date: Thu, 17 Oct 2024 18:01:00 +0800 Subject: [PATCH] =?UTF-8?q?opt:=E7=A7=BB=E5=BA=93=E5=8D=95=E5=8A=9F?= =?UTF-8?q?=E8=83=BDwql=E6=94=B9=E6=88=90myb-plus?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../util/impl/OutBussManageServiceImpl.java | 2 +- .../acs/service/impl/AcsToWmsServiceImpl.java | 4 +- .../controller}/HandMoveStorController.java | 35 +- .../service/HandMoveStorService.java | 64 +- .../instor/movestor/service/dao/MoveStor.java | 86 ++ .../movestor/service/dao/MoveStorDtl.java | 95 ++ .../service/dao/mapper/MoveStorDtlMapper.java | 14 + .../service/dao/mapper/MoveStorDtlMapper.xml | 5 + .../service/dao/mapper/MoveStorMapper.java | 19 + .../service/dao/mapper/MoveStorMapper.xml | 57 + .../movestor/service/dto/MoveStorQuery.java | 35 + .../service/impl/HandMoveStorServiceImpl.java | 1071 ++++++----------- .../st/instor/task/HandMoveStorAcsTask.java | 2 +- .../st/instor/wql/QST_IVT_HANDMOVESTOR.wql | 142 +-- .../service/impl/CheckOutBillServiceImpl.java | 4 +- .../views/wms/st/inStor/change/AddDialog.vue | 7 +- .../wms/st/inStor/moveStor/AddDialog.vue | 50 +- .../views/wms/st/inStor/moveStor/AddDtl.vue | 5 +- .../wms/st/inStor/moveStor/handmovestor.js | 8 +- .../views/wms/st/inStor/moveStor/index.vue | 15 +- .../views/wms/st/inStor/reCutPlan/AddDtl.vue | 1 - .../views/wms/st/inbill/BucketDtlDialog.vue | 113 -- .../src/views/wms/st/inbill/index.vue | 12 - 23 files changed, 798 insertions(+), 1048 deletions(-) rename lms/nladmin-system/src/main/java/org/nl/wms/st/instor/{rest => movestor/controller}/HandMoveStorController.java (79%) rename lms/nladmin-system/src/main/java/org/nl/wms/st/instor/{ => movestor}/service/HandMoveStorService.java (59%) create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/dao/MoveStor.java create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/dao/MoveStorDtl.java create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/dao/mapper/MoveStorDtlMapper.java create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/dao/mapper/MoveStorDtlMapper.xml create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/dao/mapper/MoveStorMapper.java create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/dao/mapper/MoveStorMapper.xml create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/dto/MoveStorQuery.java rename lms/nladmin-system/src/main/java/org/nl/wms/st/instor/{ => movestor}/service/impl/HandMoveStorServiceImpl.java (59%) delete mode 100644 lms/nladmin-ui/src/views/wms/st/inbill/BucketDtlDialog.vue diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBussManageServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBussManageServiceImpl.java index d45db79..ea3a041 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBussManageServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBussManageServiceImpl.java @@ -25,7 +25,7 @@ import org.nl.modules.wql.core.bean.WQLObject; import org.nl.system.service.param.ISysParamService; import org.nl.wms.pda.mps.eum.RegionTypeEnum; import org.nl.wms.st.inbill.service.StorPublicService; -import org.nl.wms.st.instor.service.HandMoveStorService; +import org.nl.wms.st.instor.movestor.service.HandMoveStorService; import org.nl.wms.st.instor.task.HandMoveStorAcsTask; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index 62234e9..9e891b8 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -60,7 +60,7 @@ import org.nl.wms.sch.tasks.PaperTrussTask; import org.nl.wms.sch.tasks.SendOutTask; import org.nl.wms.st.inbill.service.RawAssistIStorService; import org.nl.wms.st.inbill.service.StorPublicService; -import org.nl.wms.st.instor.service.impl.HandMoveStorServiceImpl; +import org.nl.wms.st.instor.movestor.service.impl.HandMoveStorServiceImpl; import org.redisson.api.RLock; import org.redisson.api.RedissonClient; import org.springframework.beans.factory.annotation.Autowired; @@ -70,8 +70,6 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.lang.reflect.Method; -import java.time.LocalDate; -import java.time.format.DateTimeFormatter; import java.util.*; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/rest/HandMoveStorController.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/controller/HandMoveStorController.java similarity index 79% rename from lms/nladmin-system/src/main/java/org/nl/wms/st/instor/rest/HandMoveStorController.java rename to lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/controller/HandMoveStorController.java index d429d4b..2b5c0f1 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/rest/HandMoveStorController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/controller/HandMoveStorController.java @@ -1,11 +1,14 @@ -package org.nl.wms.st.instor.rest; +package org.nl.wms.st.instor.movestor.controller; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.nl.common.TableDataInfo; +import org.nl.common.domain.query.PageQuery; import org.nl.modules.logging.annotation.Log; -import org.nl.wms.st.instor.service.HandMoveStorService; +import org.nl.wms.st.instor.movestor.service.HandMoveStorService; +import org.nl.wms.st.instor.movestor.service.dto.MoveStorQuery; import org.springframework.data.domain.Pageable; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -15,7 +18,6 @@ import java.util.Map; @RestController @RequiredArgsConstructor - @RequestMapping("/api/handmovestor") @Slf4j public class HandMoveStorController { @@ -23,20 +25,17 @@ public class HandMoveStorController { @GetMapping @Log("查询手工移库单") - - public ResponseEntity query(@RequestParam Map whereJson, Pageable page) { - return new ResponseEntity<>(handMoveStorService.pageQuery(whereJson, page), HttpStatus.OK); + public ResponseEntity query(MoveStorQuery whereJson, PageQuery page) { + return new ResponseEntity<>(TableDataInfo.build(handMoveStorService.pageQuery(whereJson, page)), HttpStatus.OK); } @GetMapping("/getOutBillDtl") - @Log("查询移库单") - + @Log("查询移库单明细") public ResponseEntity getOutBillDtl(@RequestParam Map whereJson) { return new ResponseEntity<>(handMoveStorService.getOutBillDtl(whereJson), HttpStatus.OK); } @Log("删除移库单") - @DeleteMapping public ResponseEntity delete(@RequestBody Long[] ids) { handMoveStorService.deleteAll(ids); @@ -45,52 +44,39 @@ public class HandMoveStorController { @PutMapping @Log("修改移库单") - - public ResponseEntity update(@RequestBody Map whereJson) { + public ResponseEntity update(@RequestBody JSONObject whereJson) { handMoveStorService.update(whereJson); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } @PostMapping() @Log("新增移库单") - - public ResponseEntity insertDtl(@RequestBody Map whereJson) { + public ResponseEntity insertDtl(@RequestBody JSONObject whereJson) { handMoveStorService.insertDtl(whereJson); return new ResponseEntity<>(HttpStatus.CREATED); } @GetMapping("/getStructIvt") @Log("查询可分配库存") - public ResponseEntity getStructIvt(@RequestParam Map whereJson, Pageable page) { return new ResponseEntity<>(handMoveStorService.getStructIvt(whereJson, page), HttpStatus.OK); } @PostMapping("/getBoxIvt") @Log("查询箱内库存") - public ResponseEntity getBoxIvt(@RequestBody JSONArray whereJson) { return new ResponseEntity<>(handMoveStorService.getBoxIvt(whereJson), HttpStatus.OK); } @PostMapping("/confirm") @Log("移库单强制确认") - public ResponseEntity confirm(@RequestBody JSONObject whereJson) { handMoveStorService.confirm(whereJson); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } - @GetMapping("/getInvTypes") - @Log("查询单据字段") - - public ResponseEntity getInvTypes() { - return new ResponseEntity<>(handMoveStorService.getInvTypes(), HttpStatus.OK); - } - @PostMapping("/handdown") @Log("移库单手动下发") - public ResponseEntity handdown(@RequestBody JSONObject whereJson) { handMoveStorService.handdown(whereJson); return new ResponseEntity<>(HttpStatus.NO_CONTENT); @@ -98,7 +84,6 @@ public class HandMoveStorController { @PostMapping("/checkReturn") @Log("盘点回库") - public ResponseEntity checkReturn() { handMoveStorService.checkReturn(); return new ResponseEntity<>(HttpStatus.OK); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/service/HandMoveStorService.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/HandMoveStorService.java similarity index 59% rename from lms/nladmin-system/src/main/java/org/nl/wms/st/instor/service/HandMoveStorService.java rename to lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/HandMoveStorService.java index aaa2b25..3fbeede 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/service/HandMoveStorService.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/HandMoveStorService.java @@ -1,12 +1,16 @@ -package org.nl.wms.st.instor.service; +package org.nl.wms.st.instor.movestor.service; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import org.nl.common.domain.query.PageQuery; +import org.nl.wms.st.instor.movestor.service.dao.MoveStor; +import org.nl.wms.st.instor.movestor.service.dto.MoveStorQuery; import org.springframework.data.domain.Pageable; - import java.util.Map; -public interface HandMoveStorService { +public interface HandMoveStorService extends IService { /** * 查询数据分页 * @@ -14,7 +18,7 @@ public interface HandMoveStorService { * @param page 分页参数 * @return Map */ - Map pageQuery(Map whereJson, Pageable page); + IPage pageQuery(MoveStorQuery whereJson, PageQuery page); /** * 多选删除 @@ -24,21 +28,21 @@ public interface HandMoveStorService { void deleteAll(Long[] ids); /** - * 新增出库单 + * 新增移库单 * * @param whereJson / */ - void insertDtl(Map whereJson); + void insertDtl(JSONObject whereJson); /** - * 新增出库单2 + * 新增移库单2 * * @param whereJson / */ String insertDtl2(JSONObject whereJson); /** - * 查询出库单明细 + * 查询出移库单明细 * * @param whereJson / * @return @@ -46,18 +50,12 @@ public interface HandMoveStorService { JSONArray getOutBillDtl(Map whereJson); /** - * 修改出库单 + * 修改移库单 * * @param whereJson / */ - void update(Map whereJson); + void update(JSONObject whereJson); - /** - * 全部取消 - * - * @param whereJson / - */ - void allCancel(JSONObject whereJson); /** * 查询可分配库存 @@ -67,52 +65,36 @@ public interface HandMoveStorService { */ Map getStructIvt(Map whereJson, Pageable page); - JSONArray getBoxIvt(JSONArray whereJson); - /** - * 出库单强制确认 - * - * @param whereJson / + * 查询箱内库存 + * @param whereJson + * @return */ - void confirm(JSONObject whereJson); + JSONArray getBoxIvt(JSONArray whereJson); /** - * 出库任务下发 + * 移库单强制确认 * * @param whereJson / */ - void issueTask(JSONObject whereJson); + void confirm(JSONObject whereJson); /** - * 出库任务手动完成 + * 移库单任务手动完成 * * @param whereJson / */ void finishTask(JSONObject whereJson); /** - * 出库任务手动取消完成 - * - * @param whereJson / - */ - void cancleTaskfinish(JSONObject whereJson); - - /** - * 查询单据字段 - * - * @return - */ - JSONArray getInvTypes(); - - /** - * 移库单手动下发 + * 移库单任务手动下发 * * @param whereJson / */ void handdown(JSONObject whereJson); /** - * 盘点回库 + * 盘点自动回库 */ void checkReturn(); } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/dao/MoveStor.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/dao/MoveStor.java new file mode 100644 index 0000000..8af8516 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/dao/MoveStor.java @@ -0,0 +1,86 @@ +package org.nl.wms.st.instor.movestor.service.dao; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.bean.copier.CopyOptions; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; + +/** + * @author: zds + * @date: 2024-09-27 + * @description: + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("st_ivt_moveinv") +public class MoveStor implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "moveinv_id", type = IdType.NONE) + private String moveinv_id; + //单据编号 + private String bill_code; + //业务类型 + private String buss_type; + //单据类型 + private String bill_type; + //业务日期 + private String biz_date; + //仓库标识 + private String stor_id; + //仓库编码 + private String stor_code; + //仓库名称 + private String stor_name; + //总数量 + private Double total_qty; + //明细数 + private Integer detail_count; + //单据状态 + private String bill_status; + //备注 + private String remark; + //生成方式 + private String create_mode; + //制单人 + private String input_optid; + //制单人姓名 + private String input_optname; + //制单时间 + private String input_time; + //修改人 + private String update_optid; + //修改人姓名 + private String update_optname; + //修改时间 + private String update_time; + //确认人 + private String confirm_optid; + //确认人姓名 + private String confirm_optname; + //确认时间 + private String confirm_time; + //确认说明 + private String confirm_info; + //部门ID + private String sysdeptid; + //公司ID + private String syscompanyid; + //是否删除 + private String is_delete; + @TableField(exist = false) + private String is_task; + + public void copyFrom(JSONObject source){ + BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true)); + } + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/dao/MoveStorDtl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/dao/MoveStorDtl.java new file mode 100644 index 0000000..f9baabf --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/dao/MoveStorDtl.java @@ -0,0 +1,95 @@ +package org.nl.wms.st.instor.movestor.service.dao; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.bean.copier.CopyOptions; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; + +/** + * @author: zds + * @date: 2024-09-27 + * @description: + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("st_ivt_moveinvdtl") +public class MoveStorDtl implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "moveinvdtl_id", type = IdType.NONE) + private String moveinvdtl_id; + //移库单标识 + private String moveinv_id; + //明细序号 + private String seq_no; + //转出库区标识 + private String turnout_sect_id; + //转出库区编码 + private String turnout_sect_code; + //转出库区名称 + private String turnout_sect_name; + //转出仓位标识 + private String turnout_struct_id; + //转出仓位编码 + private String turnout_struct_code; + //转出仓位名称 + private String turnout_struct_name; + //物料标识 + private String material_id; + //批次 + private String pcsn; + //品质类型 + private String quality_scode; + //数量计量单位标识 + private String qty_unit_id; + //数量计量单位名称 + private String qty_unit_name; + //数量 + private Double qty; + //转入库区标识 + private String turnin_sect_id; + //转入库区编码 + private String turnin_sect_code; + //转入库区名称 + private String turnin_sect_name; + //转入仓位标识 + private String turnin_struct_id; + //转入仓位编码 + private String turnin_struct_code; + //转入仓位名称 + private String turnin_struct_name; + //执行状态 + private String work_status; + //任务标识 + private String task_id; + //存储载具标识 + private String storagevehicle_id; + //存储载具编码 + private String storagevehicle_code; + //是否已下发 + private String is_issued; + //来源单据明细标识 + private String source_billdtl_id; + //来源单据类型 + private String source_bill_type; + //来源单编号 + private String source_bill_code; + //来源单表名 + private String source_bill_table; + //备注 + private String remark; + + + public void copyFrom(JSONObject source){ + BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true)); + } + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/dao/mapper/MoveStorDtlMapper.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/dao/mapper/MoveStorDtlMapper.java new file mode 100644 index 0000000..3940a82 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/dao/mapper/MoveStorDtlMapper.java @@ -0,0 +1,14 @@ +package org.nl.wms.st.instor.movestor.service.dao.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.nl.wms.st.instor.movestor.service.dao.MoveStor; +import org.nl.wms.st.instor.movestor.service.dao.MoveStorDtl; + +/** + * @author: zds + * @date: 2024-09-27 + * @description: + */ +public interface MoveStorDtlMapper extends BaseMapper { + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/dao/mapper/MoveStorDtlMapper.xml b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/dao/mapper/MoveStorDtlMapper.xml new file mode 100644 index 0000000..33696bc --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/dao/mapper/MoveStorDtlMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/dao/mapper/MoveStorMapper.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/dao/mapper/MoveStorMapper.java new file mode 100644 index 0000000..e638fe6 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/dao/mapper/MoveStorMapper.java @@ -0,0 +1,19 @@ +package org.nl.wms.st.instor.movestor.service.dao.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.nl.wms.st.instor.movestor.service.dao.MoveStor; +import org.nl.wms.st.instor.movestor.service.dto.MoveStorQuery; + +/** + * @author: zds + * @date: 2024-09-27 + * @description: + */ +public interface MoveStorMapper extends BaseMapper { + /** + * 分页查找 + * @return + */ + IPage pageQuery(IPage pages, MoveStorQuery query); +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/dao/mapper/MoveStorMapper.xml b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/dao/mapper/MoveStorMapper.xml new file mode 100644 index 0000000..5653e4c --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/dao/mapper/MoveStorMapper.xml @@ -0,0 +1,57 @@ + + + + + diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/dto/MoveStorQuery.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/dto/MoveStorQuery.java new file mode 100644 index 0000000..3c0bbba --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/dto/MoveStorQuery.java @@ -0,0 +1,35 @@ +package org.nl.wms.st.instor.movestor.service.dto; + +import com.alibaba.fastjson.JSONArray; +import lombok.Data; + +import java.io.Serializable; + +/** + * @author: zds + * @date: 2024-09-27 + * @description: + */ +@Data +public class MoveStorQuery implements Serializable { + //移库单号 + private String bill_code; + //所属仓库 + private String stor_id; + //物料名称、物料编码 + private String material_code; + //生成方式 + private String create_mode; + //单据状态 + private String bill_status; + //业务类型 + private String bill_type; + //创建时间 + private String begin_time; + //创建时间 + private String end_time; + //仓库权限 + private String user_id; + + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/service/impl/HandMoveStorServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/impl/HandMoveStorServiceImpl.java similarity index 59% rename from lms/nladmin-system/src/main/java/org/nl/wms/st/instor/service/impl/HandMoveStorServiceImpl.java rename to lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/impl/HandMoveStorServiceImpl.java index 1f82542..0f27d7c 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/service/impl/HandMoveStorServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/movestor/service/impl/HandMoveStorServiceImpl.java @@ -1,19 +1,24 @@ -package org.nl.wms.st.instor.service.impl; +package org.nl.wms.st.instor.movestor.service.impl; import cn.hutool.core.date.DateUtil; import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; -import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; +import org.nl.common.domain.query.PageQuery; +import org.nl.common.utils.CodeUtil; import org.nl.common.utils.SecurityUtils; import org.nl.modules.common.exception.BadRequestException; -import org.nl.common.utils.CodeUtil; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.SpringContextHolder; @@ -24,16 +29,20 @@ import org.nl.wms.sch.manage.TaskStatusEnum; import org.nl.wms.sch.tasks.OutTask; import org.nl.wms.st.inbill.service.RawAssistIStorService; import org.nl.wms.st.inbill.service.StorPublicService; -import org.nl.wms.st.instor.service.HandMoveStorService; +import org.nl.wms.st.instor.movestor.service.HandMoveStorService; +import org.nl.wms.st.instor.movestor.service.dao.MoveStor; +import org.nl.wms.st.instor.movestor.service.dao.MoveStorDtl; +import org.nl.wms.st.instor.movestor.service.dao.mapper.MoveStorDtlMapper; +import org.nl.wms.st.instor.movestor.service.dao.mapper.MoveStorMapper; +import org.nl.wms.st.instor.movestor.service.dto.MoveStorQuery; import org.nl.wms.st.instor.task.EmpMoveTask; import org.nl.wms.st.instor.task.HandMoveStorAcsTask; import org.nl.wms.st.outbill.service.impl.CheckOutBillServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; - import java.util.*; -import java.util.function.Consumer; import java.util.stream.Collectors; /** @@ -42,48 +51,41 @@ import java.util.stream.Collectors; @Service @RequiredArgsConstructor @Slf4j -public class HandMoveStorServiceImpl implements HandMoveStorService { +public class HandMoveStorServiceImpl extends ServiceImpl implements HandMoveStorService { private final StorPublicService storPublicService; + private final HandMoveStorAcsTask handMoveStorAcsTask; + private final EmpMoveTask empMoveTask; + private final OutTask outTask; + private final RawAssistIStorService rawAssistIStorService; + @Autowired + private MoveStorMapper moveStorMapper; + @Autowired + private MoveStorDtlMapper moveStorDtlMapper; @Override - public Map pageQuery(Map whereJson, Pageable page) { - HashMap map = new HashMap<>(whereJson); - map.put("flag", "1"); - if (StrUtil.isNotEmpty(map.get("bill_code"))) { - map.put("bill_code", "%" + map.get("bill_code") + "%"); - } - if (StrUtil.isNotEmpty(map.get("material_code"))) { - map.put("material_code", "%" + map.get("material_code") + "%"); - } - if (StrUtil.isNotEmpty(map.get("buss_type"))) { - map.put("buss_type", whereJson.get("buss_type") + "%"); + public IPage pageQuery(MoveStorQuery whereJson, PageQuery page) { + //根据当前userid判断仓库权限 + String currentUserId = SecurityUtils.getCurrentUserId().toString(); + if (ObjectUtil.isNotEmpty(currentUserId)) { + whereJson.setUser_id(currentUserId); } - - //获取人员对应的仓库 - UserStorServiceImpl userStorService = new UserStorServiceImpl(); - String in_stor_id = userStorService.getInStor(); - - if (ObjectUtil.isNotEmpty(in_stor_id)) { - map.put("in_stor_id", in_stor_id); - } - - JSONObject jo = WQL.getWO("QST_IVT_HANDMOVESTOR").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "bill_code desc"); - return jo; + IPage pages = new Page(page.getPage() + 1, page.getSize()); + pages = moveStorMapper.pageQuery(pages, whereJson); + return pages; } @Override @Transactional(rollbackFor = Exception.class) public void deleteAll(Long[] ids) { - WQLObject wo_mst = WQLObject.getWQLObject("ST_IVT_MoveInv"); for (Long moveinv_id : ids) { - JSONObject jo_mst = wo_mst.query("moveinv_id='" + moveinv_id + "'").uniqueResult(0); + MoveStor moveStor =moveStorMapper.selectById(moveinv_id); - if (jo_mst.getString("stor_id").equals(IOSEnum.STOR_ID.code("二期"))) { + if ((moveStor.getStor_id()).equals(IOSEnum.STOR_ID.code("二期"))) { this.deleteByIdTwo(moveinv_id + ""); } else { this.deleteById(moveinv_id + ""); @@ -97,10 +99,6 @@ public class HandMoveStorServiceImpl implements HandMoveStorService { * @param moveinv_id */ public void deleteById(String moveinv_id) { - //明细表 - WQLObject wo_dtl = WQLObject.getWQLObject("ST_IVT_MoveInvDtl"); - //主表 - WQLObject wo_mst = WQLObject.getWQLObject("ST_IVT_MoveInv"); //任务表 WQLObject wo_Task = WQLObject.getWQLObject("SCH_BASE_Task"); //点位表 @@ -111,52 +109,54 @@ public class HandMoveStorServiceImpl implements HandMoveStorService { String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); - HashMap map = new HashMap<>(); - map.put("is_delete", "1"); - map.put("update_optid", currentUserId + ""); - map.put("update_optname", nickName); - map.put("update_time", now); - JSONObject jo_mst = wo_mst.query("moveinv_id='" + moveinv_id + "'").uniqueResult(0); - JSONArray ja = wo_dtl.query("moveinv_id='" + moveinv_id + "'").getResultJSONArray(0); + + MoveStor jo_mst = moveStorMapper.selectById(moveinv_id);; + List ja = moveStorDtlMapper.selectList(new LambdaQueryWrapper() + .eq(MoveStorDtl::getMoveinv_id, moveinv_id)); String point_code2 = ""; for (int i = 0; i < ja.size(); i++) { - JSONObject jo = ja.getJSONObject(i); + MoveStorDtl jo = ja.get(i); //删除任务 HashMap task_map = new HashMap<>(); task_map.put("is_delete", "1"); - point_code2 = wo_Task.query("task_id = '" + jo.getString("task_id") + "'").uniqueResult(0).getString("point_code2"); - wo_Task.update(task_map, "task_id='" + jo.getString("task_id") + "'"); + point_code2 = wo_Task.query("task_id = '" + jo.getTask_id() + "'").uniqueResult(0).getString("point_code2"); + wo_Task.update(task_map, "task_id='" + jo.getTask_id() + "'"); //解锁起点点位、仓位 JSONObject from_start = new JSONObject(); from_start.put("lock_type", "1"); from_start.put("is_free", "0"); - from_start.put("struct_id", jo.getString("turnout_struct_id")); - from_start.put("storagevehicle_code", jo.getString("storagevehicle_code")); + from_start.put("struct_id", jo.getTurnout_struct_id()); + from_start.put("storagevehicle_code", jo.getStoragevehicle_code()); storPublicService.updateStructAndPoint(from_start); //解锁终点点位、仓位 - from_start.put("struct_id", jo.getString("turnin_struct_id")); + from_start.put("struct_id", jo.getTurnin_struct_id()); storPublicService.updateStructAndPoint(from_start); + JSONObject jo_param = (JSONObject) JSONObject.toJSON(jo); //更新移出库存 - jo.put("struct_id", jo.getString("turnout_struct_id")); - jo.put("change_qty", jo.getDoubleValue("qty")); - jo.put("bill_type_scode", jo_mst.getString("bill_type")); - jo.put("inv_id", jo.getString("moveinvdtl_id")); - jo.put("bill_code", jo_mst.getString("bill_code")); - jo.put("bill_table", "ST_IVT_MoveInv"); - storPublicService.IOStor(jo, "12"); + jo_param.put("struct_id", jo.getTurnout_struct_id()); + jo_param.put("change_qty", jo.getQty()); + jo_param.put("bill_type_scode", jo_mst.getBill_type()); + jo_param.put("inv_id", jo.getMoveinvdtl_id()); + jo_param.put("bill_code", jo_mst.getBill_code()); + jo_param.put("bill_table", "ST_IVT_MoveInv"); + storPublicService.IOStor(jo_param, "12"); //更新移入库存 - jo.put("struct_id", jo.getString("turnin_struct_id")); - jo.put("bill_type_scode", jo_mst.getString("bill_type")); - jo.put("inv_id", jo.getString("moveinvdtl_id")); - jo.put("bill_code", jo_mst.getString("bill_code")); - jo.put("bill_table", "ST_IVT_MoveInv"); - storPublicService.IOStor(jo, "32"); + jo_param.put("struct_id", jo.getTurnin_struct_id()); + jo_param.put("bill_type_scode",jo_mst.getBill_type()); + jo_param.put("inv_id", jo.getMoveinvdtl_id()); + jo_param.put("bill_code", jo_mst.getBill_code()); + jo_param.put("bill_table", "ST_IVT_MoveInv"); + storPublicService.IOStor(jo_param, "32"); //删除明细 - wo_dtl.delete("moveinvdtl_id='" + jo.getString("moveinvdtl_id") + "'"); + moveStorDtlMapper.deleteById(jo); } //更新主表 - wo_mst.update(map, "moveinv_id='" + moveinv_id + "'"); + jo_mst.setIs_delete("1"); + jo_mst.setUpdate_optid(currentUserId); + jo_mst.setUpdate_optname(nickName); + jo_mst.setUpdate_time(now); + moveStorMapper.updateById(jo_mst); // 更新移入点位 JSONObject jsonPoint = wo_Point.query("point_code = '" + point_code2 + "'").uniqueResult(0); jsonPoint.put("vehicle_code", ""); @@ -173,10 +173,6 @@ public class HandMoveStorServiceImpl implements HandMoveStorService { * @param moveinv_id */ public void deleteByIdTwo(String moveinv_id) { - //明细表 - WQLObject wo_dtl = WQLObject.getWQLObject("ST_IVT_MoveInvDtl"); - //主表 - WQLObject wo_mst = WQLObject.getWQLObject("ST_IVT_MoveInv"); //任务表 WQLObject wo_Task = WQLObject.getWQLObject("SCH_BASE_Task"); //仓位表 @@ -185,54 +181,58 @@ public class HandMoveStorServiceImpl implements HandMoveStorService { String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); - HashMap map = new HashMap<>(); - map.put("is_delete", "1"); - map.put("update_optid", currentUserId + ""); - map.put("update_optname", nickName); - map.put("update_time", now); - JSONObject jo_mst = wo_mst.query("moveinv_id='" + moveinv_id + "'").uniqueResult(0); - JSONArray ja = wo_dtl.query("moveinv_id='" + moveinv_id + "'").getResultJSONArray(0); + + MoveStor jo_mst = moveStorMapper.selectById(moveinv_id);; + List ja = moveStorDtlMapper.selectList(new LambdaQueryWrapper() + .eq(MoveStorDtl::getMoveinv_id, moveinv_id)); + String point_code2 = ""; for (int i = 0; i < ja.size(); i++) { - JSONObject jo = ja.getJSONObject(i); + MoveStorDtl jo = ja.get(i); //删除任务 HashMap task_map = new HashMap<>(); task_map.put("is_delete", "1"); - point_code2 = wo_Task.query("task_id = '" + jo.getString("task_id") + "'").uniqueResult(0).getString("point_code2"); - wo_Task.update(task_map, "task_id='" + jo.getString("task_id") + "'"); + point_code2 = wo_Task.query("task_id = '" + jo.getTask_id() + "'").uniqueResult(0).getString("point_code2"); + wo_Task.update(task_map, "task_id='" + jo.getTask_id() + "'"); //解锁起点点位、仓位 JSONObject from_start = new JSONObject(); from_start.put("lock_type", "1"); from_start.put("is_free", "0"); - from_start.put("struct_id", jo.getString("turnout_struct_id")); - from_start.put("storagevehicle_code", jo.getString("storagevehicle_code")); + from_start.put("struct_id", jo.getTurnout_struct_id()); + from_start.put("storagevehicle_code", jo.getStoragevehicle_code()); storPublicService.updateStructAndPointTwo(from_start); //解锁终点点位、仓位 - from_start.put("struct_id", jo.getString("turnin_struct_id")); + from_start.put("struct_id",jo.getTurnin_struct_id()); storPublicService.updateStructAndPointTwo(from_start); //更新移出库存 - jo.put("struct_id", jo.getString("turnout_struct_id")); - jo.put("change_qty", jo.getDoubleValue("qty")); - jo.put("bill_type_scode", jo_mst.getString("bill_type")); - jo.put("inv_id", jo.getString("moveinvdtl_id")); - jo.put("bill_code", jo_mst.getString("bill_code")); - jo.put("bill_table", "ST_IVT_MoveInv"); - storPublicService.IOStor(jo, "12"); + JSONObject jo_param = (JSONObject) JSONObject.toJSON(jo); + //更新移出库存 + jo_param.put("struct_id", jo.getTurnout_struct_id()); + jo_param.put("change_qty", jo.getQty()); + jo_param.put("bill_type_scode", jo_mst.getBill_type()); + jo_param.put("inv_id", jo.getMoveinvdtl_id()); + jo_param.put("bill_code", jo_mst.getBill_code()); + jo_param.put("bill_table", "ST_IVT_MoveInv"); + storPublicService.IOStor(jo_param, "12"); //更新移入库存 - jo.put("struct_id", jo.getString("turnin_struct_id")); - jo.put("bill_type_scode", jo_mst.getString("bill_type")); - jo.put("inv_id", jo.getString("moveinvdtl_id")); - jo.put("bill_code", jo_mst.getString("bill_code")); - jo.put("bill_table", "ST_IVT_MoveInv"); - storPublicService.IOStor(jo, "32"); + jo_param.put("struct_id", jo.getTurnin_struct_id()); + jo_param.put("bill_type_scode",jo_mst.getBill_type()); + jo_param.put("inv_id", jo.getMoveinvdtl_id()); + jo_param.put("bill_code", jo_mst.getBill_code()); + jo_param.put("bill_table", "ST_IVT_MoveInv"); + storPublicService.IOStor(jo_param, "32"); //删除明细 - wo_dtl.delete("moveinvdtl_id='" + jo.getString("moveinvdtl_id") + "'"); + moveStorDtlMapper.deleteById(jo); } //更新主表 - wo_mst.update(map, "moveinv_id='" + moveinv_id + "'"); - // 更新移入仓位 + jo_mst.setIs_delete("1"); + jo_mst.setUpdate_optid(currentUserId); + jo_mst.setUpdate_optname(nickName); + jo_mst.setUpdate_time(now); + moveStorMapper.updateById(jo_mst); + // 更新移入仓位 JSONObject jsonAttr = wo_Attr.query("struct_code = '" + point_code2 + "'").uniqueResult(0); jsonAttr.put("storagevehicle_code", ""); wo_Attr.update(jsonAttr); @@ -241,8 +241,8 @@ public class HandMoveStorServiceImpl implements HandMoveStorService { @Override @Transactional(rollbackFor = Exception.class) - public void insertDtl(Map map) { - String bill_type = MapUtil.getStr(map, "bill_type"); + public void insertDtl(JSONObject map) { + String bill_type = map.getString("bill_type"); if (StrUtil.equals(bill_type, "30")) { // 辅道移库: 调用辅道出库方法 @@ -250,52 +250,49 @@ public class HandMoveStorServiceImpl implements HandMoveStorService { } if (ObjectUtil.isNotEmpty(map.get("tableData"))) { - //主表 - WQLObject wo_mst = WQLObject.getWQLObject("ST_IVT_MoveInv"); - ArrayList rows = (ArrayList) map.get("tableData"); - JSONArray arrayTwo = MapUtil.get(map, "tableData", JSONArray.class); + JSONArray rows = map.getJSONArray("tableData"); map.remove("tableData"); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); + Long deptId = SecurityUtils.getDeptId(); + String moveinv_id = IdUtil.getSnowflake(1, 1).nextId() + ""; String bill_code = CodeUtil.getNewCode("MOVE_CODE"); - String biz_date = (String) map.get("biz_date"); + + String biz_date = map.getString("biz_date"); biz_date = biz_date.substring(0, 10); - map.put("moveinv_id", moveinv_id); - map.put("bill_code", bill_code); - map.put("buss_type", ""); - map.put("create_mode", "01"); - map.put("input_optid", currentUserId + ""); - map.put("input_optname", nickName); - map.put("input_time", now); - map.put("update_optid", currentUserId + ""); - map.put("update_optname", nickName); - map.put("update_time", now); - map.put("is_delete", "0"); - map.put("is_upload", "0"); - map.put("biz_date", biz_date); - Long deptId = SecurityUtils.getDeptId(); - map.put("sysdeptid", deptId); - map.put("syscompanyid", deptId); - JSONObject jo_mst = JSONObject.parseObject(JSON.toJSONString(map)); + + MoveStor moveStor = new MoveStor(); + moveStor.copyFrom(map); + + moveStor.setMoveinv_id(moveinv_id); + moveStor.setBill_code(bill_code); + moveStor.setInput_optid(currentUserId); + moveStor.setInput_optname(nickName); + moveStor.setInput_time(now); + moveStor.setIs_delete("0"); + moveStor.setBiz_date(biz_date); + moveStor.setSysdeptid(deptId+""); + moveStor.setSyscompanyid(deptId+""); //调用明细处理方法 -- 如果是二期移库则调用 insertDtlByRows2 JSONObject ret = new JSONObject(); - if (jo_mst.getString("stor_id").equals(IOSEnum.STOR_ID.code("二期"))) { - ret = this.insertDtlByRows2(jo_mst, arrayTwo); + if (moveStor.getStor_id().equals(IOSEnum.STOR_ID.code("二期"))) { + ret = this.insertDtlByRows2(moveStor, rows); } else { - ret = this.insertDtlByRows(jo_mst, rows); + ret = this.insertDtlByRows(moveStor, rows); } - map.put("detail_count", ret.getString("detail_count")); - map.put("total_qty", ret.getString("total_qty")); - wo_mst.insert(map); + moveStor.setDetail_count(ret.getInteger("detail_count")); + moveStor.setTotal_qty(ret.getDoubleValue("total_qty")); + moveStorMapper.insert(moveStor); } } @Transactional(rollbackFor = Exception.class) - public Map roadInsertDtl(Map map) { + public JSONObject roadInsertDtl(JSONObject map) { WQLObject attrTab = WQLObject.getWQLObject("st_ivt_structattr"); /* 1.货位上是空托盘:直接生成点对点任务 @@ -303,7 +300,7 @@ public class HandMoveStorServiceImpl implements HandMoveStorService { */ RawAssistIStorService rawAssistIStorService = SpringContextHolder.getBean(RawAssistIStorService.class); // 1.找出此区域 第 7 排所有有货货位 - String block_num = MapUtil.getStr(map, "block_num"); + String block_num = map.getString("block_num"); // 判断此区有没有被锁住的货位 JSONArray resultJSONArray = attrTab.query("block_num = '" + block_num + "' and is_used = '1' and is_delete = '0' and row_num = '7' and lock_type <> '1'").getResultJSONArray(0); @@ -319,7 +316,7 @@ public class HandMoveStorServiceImpl implements HandMoveStorService { .map(row -> (JSONObject) row) .anyMatch(row -> StrUtil.equals(row.getString("sect_code"), "KTP01")); - ArrayList dtlArr = new ArrayList<>(); + JSONArray dtlArr = new JSONArray(); if (is_ktp) { // 空托盘 @@ -363,7 +360,7 @@ public class HandMoveStorServiceImpl implements HandMoveStorService { // 组织明细 JSONArray jsonIvt = WQL.getWO("QST_IVT_HANDMOVESTOR").addParam("flag", "35").addParam("package_box_sn", json.getString("storagevehicle_code")).process().getResultJSONArray(0); - List collect = jsonIvt.stream().map(row -> (Map) row).collect(Collectors.toList()); + List collect = jsonIvt.stream().map(row -> (JSONObject) row).collect(Collectors.toList()); collect.forEach(row -> { row.put("wrok_status", "10"); row.put("turnin_sect_id", jsonMove.getString("sect_id")); @@ -461,11 +458,7 @@ public class HandMoveStorServiceImpl implements HandMoveStorService { * @param rows */ @Transactional(rollbackFor = Exception.class) - JSONObject insertDtlByRows(JSONObject jo_mst, ArrayList rows) { - //明细表 - WQLObject wo_dtl = WQLObject.getWQLObject("ST_IVT_MoveInvDtl"); - //主表 - WQLObject wo_mst = WQLObject.getWQLObject("ST_IVT_MoveInv"); + JSONObject insertDtlByRows(MoveStor jo_mst, JSONArray rows) { //任务表 WQLObject wo_Task = WQLObject.getWQLObject("SCH_BASE_Task"); //点位表 @@ -480,14 +473,13 @@ public class HandMoveStorServiceImpl implements HandMoveStorService { HashMap Struct_map = new HashMap(); StringBuffer ids = new StringBuffer(); for (int i = 0; i < rows.size(); i++) { - Map row = rows.get(i); - JSONObject jo_row = (JSONObject) JSONObject.toJSON(row); - String storagevehicle_code = (String) row.get("storagevehicle_code"); + JSONObject row = rows.getJSONObject(i); + String storagevehicle_code = row.getString("storagevehicle_code"); if (i == 0) { ids.append("'"); } if (!Struct_map.containsKey(storagevehicle_code)) { - Struct_map.put(storagevehicle_code, jo_row); + Struct_map.put(storagevehicle_code, row); } if (i != 0) { ids.append("','"); @@ -505,31 +497,35 @@ public class HandMoveStorServiceImpl implements HandMoveStorService { } double total_qty = 0; for (int i = 0; i < ja.size(); i++) { - JSONObject jo = ja.getJSONObject(i); + MoveStorDtl jo = new MoveStorDtl(); + jo.copyFrom(ja.getJSONObject(i)); + //累加明细数量 + total_qty = total_qty + jo.getQty(); + String moveinvdtl_id = IdUtil.getSnowflake(1, 1).nextId() + ""; - total_qty = total_qty + jo.getDoubleValue("qty"); - jo.put("moveinvdtl_id", moveinvdtl_id); - jo.put("moveinv_id", jo_mst.getString("moveinv_id")); - jo.put("seq_no", (i + 1) + ""); - jo.put("work_status", "01"); - jo.put("is_issued", "0"); - JSONObject row = Struct_map.get(jo.getString("storagevehicle_code")); + jo.setMoveinvdtl_id(moveinvdtl_id); + jo.setMoveinv_id(jo_mst.getMoveinv_id()); + jo.setSeq_no((i + 1)+ ""); + jo.setWork_status("01"); + jo.setIs_issued("0"); + //根据载具map获取出入库位信息 + JSONObject row = Struct_map.get(jo.getStoragevehicle_code()); String turnin_struct_id = row.getString("turnin_struct_id"); - jo.put("turnin_sect_id", row.getString("turnin_sect_id")); - jo.put("turnin_sect_code", row.getString("turnin_sect_code")); - jo.put("turnin_sect_name", row.getString("turnin_sect_name")); - jo.put("turnin_struct_id", turnin_struct_id); - jo.put("turnin_struct_code", row.getString("turnin_struct_code")); - jo.put("turnin_struct_name", row.getString("turnin_struct_name")); + jo.setTurnin_sect_id(row.getString("turnin_sect_id")); + jo.setTurnin_sect_code(row.getString("turnin_sect_code")); + jo.setTurnin_sect_name(row.getString("turnin_sect_name")); + jo.setTurnin_struct_id(turnin_struct_id); + jo.setTurnin_struct_code(row.getString("turnin_struct_code")); + jo.setTurnin_struct_name(row.getString("turnin_struct_name")); //查询移入点位 JSONObject point = wo_Point.query("source_id='" + turnin_struct_id + "'").uniqueResult(0); if (point == null) { throw new BadRequestException(row.getString("turnin_struct_code") + "仓位数据异常,找不到对应点位!"); } - //判断是否已生成过了任务,无未生成则插入任务 - JSONObject task = wo_Task.query("is_delete = '0' and task_status<'05' and point_code1='" + jo.getString("start_point_code") + "'").uniqueResult(0); + //判断是否已生成过了任务,未生成则插入任务 + JSONObject task = wo_Task.query("is_delete = '0' and task_status<'05' and point_code1='" + ja.getJSONObject(i).getString("start_point_code") + "'").uniqueResult(0); if (task != null) { - jo.put("task_id", task.getString("task_id")); + jo.setTask_id(task.getString("task_id")); } else { task = new JSONObject(); String task_id = IdUtil.getSnowflake(1, 1).nextId() + ""; @@ -541,47 +537,44 @@ public class HandMoveStorServiceImpl implements HandMoveStorService { task.put("task_type", "010505"); task.put("acs_task_type", "7"); task.put("task_status", TaskStatusEnum.SURE_START.getCode()); - task.put("point_code1", jo.getString("start_point_code")); + task.put("point_code1", ja.getJSONObject(i).getString("start_point_code")); task.put("point_code2", point.getString("point_code")); - task.put("vehicle_code", jo.getString("storagevehicle_code")); + task.put("vehicle_code", jo.getStoragevehicle_code()); task.put("handle_class", HandMoveStorAcsTask.class.getName()); task.put("finished_type", ""); task.put("is_delete", "0"); task.put("create_id", currentUserId); task.put("create_name", nickName); task.put("create_time", now); - task.put("update_optid", currentUserId); - task.put("update_optname", nickName); - task.put("update_time", now); task.put("priority", "1"); wo_Task.insert(task); - jo.put("task_id", task_id); + jo.setTask_id(task_id); } //插入明细表 - wo_dtl.insert(jo); - + moveStorDtlMapper.insert(jo); + JSONObject jo_param = (JSONObject) JSONObject.toJSON(jo); //更新移出库存 - jo.put("struct_id", jo.getString("turnout_struct_id")); - jo.put("change_qty", jo.getDoubleValue("qty")); - jo.put("bill_type_scode", jo_mst.getString("bill_type")); - jo.put("inv_id", moveinvdtl_id); - jo.put("bill_code", jo_mst.getString("bill_code")); - jo.put("bill_table", "ST_IVT_MoveInv"); - storPublicService.IOStor(jo, "11"); + jo_param.put("struct_id", jo.getTurnout_struct_id()); + jo_param.put("change_qty", jo.getQty()); + jo_param.put("bill_type_scode", jo_mst.getBill_type()); + jo_param.put("inv_id", moveinvdtl_id); + jo_param.put("bill_code", jo_mst.getBill_code()); + jo_param.put("bill_table", "ST_IVT_MoveInv"); + storPublicService.IOStor(jo_param, "11"); //更新移入库存 - jo.put("struct_id", turnin_struct_id); - jo.put("bill_type_scode", jo_mst.getString("bill_type")); - jo.put("inv_id", moveinvdtl_id); - jo.put("bill_code", jo_mst.getString("bill_code")); - jo.put("bill_table", "ST_IVT_MoveInv"); - storPublicService.IOStor(jo, "31"); + jo_param.put("struct_id", turnin_struct_id); + jo_param.put("bill_type_scode", jo_mst.getBill_type()); + jo_param.put("inv_id", moveinvdtl_id); + jo_param.put("bill_code", jo_mst.getBill_code()); + jo_param.put("bill_table", "ST_IVT_MoveInv"); + storPublicService.IOStor(jo_param, "31"); //锁定起点点位、仓位 JSONObject from_start = new JSONObject(); from_start.put("lock_type", "6"); - from_start.put("struct_id", jo.getString("turnout_struct_id")); - from_start.put("inv_type", jo_mst.getString("bill_type")); - from_start.put("inv_id", jo_mst.getString("moveinv_id")); - from_start.put("inv_code", jo_mst.getString("bill_code")); + from_start.put("struct_id", jo.getTurnout_struct_id()); + from_start.put("inv_type", jo_mst.getBill_type()); + from_start.put("inv_id", jo_mst.getMoveinv_id()); + from_start.put("inv_code", jo_mst.getBill_code()); from_start.put("taskdtl_type", task.getString("taskdtl_type")); from_start.put("taskdtl_id", task.getString("taskdtl_id")); from_start.put("task_code", task.getString("task_code")); @@ -599,44 +592,40 @@ public class HandMoveStorServiceImpl implements HandMoveStorService { @Override @Transactional(rollbackFor = Exception.class) public String insertDtl2(JSONObject json) { - //主表 - WQLObject wo_mst = WQLObject.getWQLObject("ST_IVT_MoveInv"); JSONArray rows = json.getJSONArray("tableData"); json.remove("tableData"); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); + Long deptId = SecurityUtils.getDeptId(); + String moveinv_id = IdUtil.getSnowflake(1, 1).nextId() + ""; String bill_code = CodeUtil.getNewCode("MOVE_CODE"); - json.put("moveinv_id", moveinv_id); - json.put("bill_code", bill_code); - json.put("buss_type", ""); - json.put("create_mode", "01"); - json.put("input_optid", currentUserId + ""); - json.put("input_optname", nickName); - json.put("input_time", now); - json.put("update_optid", currentUserId + ""); - json.put("update_optname", nickName); - json.put("update_time", now); - json.put("is_delete", "0"); - json.put("is_upload", "0"); - Long deptId = SecurityUtils.getDeptId(); - json.put("sysdeptid", deptId); - json.put("syscompanyid", deptId); + + MoveStor moveStor = new MoveStor(); + moveStor.copyFrom(json); + + moveStor.setMoveinv_id(moveinv_id); + moveStor.setBill_code(bill_code); + moveStor.setInput_optid(currentUserId); + moveStor.setInput_optname(nickName); + moveStor.setInput_time(now); + moveStor.setIs_delete("0"); + moveStor.setBiz_date(now.substring(0, 10)); + moveStor.setSysdeptid(deptId+""); + moveStor.setSyscompanyid(deptId+""); //调用明细处理方法 - JSONObject ret = this.insertDtlByRows2(json, rows); - json.put("detail_count", ret.getString("detail_count")); - json.put("total_qty", ret.getString("total_qty")); - wo_mst.insert(json); + JSONObject ret = this.insertDtlByRows2(moveStor, rows); + //更新重量和明细数量 + moveStor.setDetail_count(ret.getInteger("detail_count")); + moveStor.setTotal_qty(ret.getDouble("total_qty")); + moveStorMapper.updateById(moveStor); return moveinv_id; } @Transactional(rollbackFor = Exception.class) - JSONObject insertDtlByRows2(JSONObject jo_mst, JSONArray rows) { - //明细表 - WQLObject wo_dtl = WQLObject.getWQLObject("ST_IVT_MoveInvDtl"); - //主表 - WQLObject wo_mst = WQLObject.getWQLObject("ST_IVT_MoveInv"); + JSONObject insertDtlByRows2(MoveStor jo_mst, JSONArray rows) { //任务表 WQLObject wo_Task = WQLObject.getWQLObject("SCH_BASE_Task"); //点位表 @@ -645,8 +634,8 @@ public class HandMoveStorServiceImpl implements HandMoveStorService { WQLObject extTab = WQLObject.getWQLObject("md_pb_storagevehicleext"); //定义返回数据 JSONObject ret = new JSONObject(); - - String is_task = jo_mst.getString("is_task"); + //传值进来的 + String is_task = jo_mst.getIs_task(); String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); @@ -679,25 +668,29 @@ public class HandMoveStorServiceImpl implements HandMoveStorService { } double total_qty = 0; for (int i = 0; i < ja.size(); i++) { - JSONObject jo = ja.getJSONObject(i); + MoveStorDtl jodtl = new MoveStorDtl(); + jodtl.copyFrom(ja.getJSONObject(i)); + //累加数量 + total_qty = total_qty + jodtl.getQty(); + String moveinvdtl_id = IdUtil.getSnowflake(1, 1).nextId() + ""; - total_qty = total_qty + jo.getDoubleValue("qty"); - jo.put("moveinvdtl_id", moveinvdtl_id); - jo.put("moveinv_id", jo_mst.getString("moveinv_id")); - jo.put("seq_no", (i + 1) + ""); - jo.put("work_status", "01"); - jo.put("is_issued", "0"); - JSONObject row = (JSONObject) Struct_map.get(jo.getString("storagevehicle_code")); + jodtl.setMoveinvdtl_id(moveinvdtl_id); + jodtl.setMoveinv_id(jo_mst.getMoveinv_id()); + jodtl.setSeq_no((i + 1) + ""); + jodtl.setWork_status("01"); + jodtl.setIs_issued("0"); + + JSONObject row = Struct_map.get(jodtl.getStoragevehicle_code()); String turnin_struct_id = row.getString("turnin_struct_id"); - jo.put("turnin_sect_id", row.getString("turnin_sect_id")); - jo.put("turnin_sect_code", row.getString("turnin_sect_code")); - jo.put("turnin_sect_name", row.getString("turnin_sect_name")); - jo.put("turnin_struct_id", turnin_struct_id); - jo.put("turnin_struct_code", row.getString("turnin_struct_code")); - jo.put("turnin_struct_name", row.getString("turnin_struct_name")); + jodtl.setTurnin_sect_id(row.getString("turnin_sect_id")); + jodtl.setTurnin_sect_code( row.getString("turnin_sect_code")); + jodtl.setTurnin_sect_name(row.getString("turnin_sect_name")); + jodtl.setTurnin_struct_id(turnin_struct_id); + jodtl.setTurnin_struct_code(row.getString("turnin_struct_code")); + jodtl.setTurnin_struct_name(row.getString("turnin_struct_name")); //查询移入点位 - 如果是二期的就不用查询 JSONObject point = new JSONObject(); - if(!jo_mst.getString("stor_id").equals(IOSEnum.STOR_ID.code("二期"))) { + if(!(jo_mst.getStor_id()).equals(IOSEnum.STOR_ID.code("二期"))) { point = wo_Point.query("source_id='" + turnin_struct_id + "'").uniqueResult(0); if (point == null) { throw new BadRequestException(row.getString("turnin_struct_code") + "仓位数据异常,找不到对应点位!"); @@ -705,9 +698,9 @@ public class HandMoveStorServiceImpl implements HandMoveStorService { } //判断是否已生成过了任务,无未生成则插入任务 - JSONObject task = wo_Task.query("is_delete = '0' and task_status='04' and point_code1 ='" + jo.getString("turnout_struct_code") + "'").uniqueResult(0); + JSONObject task = wo_Task.query("is_delete = '0' and task_status='04' and point_code1 ='" + jodtl.getTurnout_struct_code() + "'").uniqueResult(0); if (task != null || "0".equals(is_task)) { - jo.put("task_id", task.getString("task_id")); + jodtl.setTask_id(task.getString("task_id")); } else { task = new JSONObject(); String task_id = IdUtil.getSnowflake(1, 1).nextId() + ""; @@ -715,24 +708,24 @@ public class HandMoveStorServiceImpl implements HandMoveStorService { task.put("task_id", task_id); task.put("task_code", task_code); - if(!jo_mst.getString("stor_id").equals(IOSEnum.STOR_ID.code("二期"))) { + if(!jo_mst.getStor_id().equals(IOSEnum.STOR_ID.code("二期"))) { task.put("task_type", "010505"); } else { task.put("task_type", "010709"); } task.put("acs_task_type", "7"); task.put("task_status", TaskStatusEnum.START_AND_POINT.getCode()); - task.put("point_code1", jo.getString("turnout_struct_code")); - if(!jo_mst.getString("stor_id").equals(IOSEnum.STOR_ID.code("二期"))) { + task.put("point_code1", jodtl.getTurnout_struct_code()); + if(!jo_mst.getStor_id().equals(IOSEnum.STOR_ID.code("二期"))) { task.put("point_code2", point.getString("point_code")); } else { - task.put("point_code2", row.getString("turnin_struct_code")); + task.put("point_code2", jodtl.getTurnin_struct_code()); } - task.put("vehicle_code", jo.getString("storagevehicle_code")); + task.put("vehicle_code", jodtl.getStoragevehicle_code()); // 查询木箱对应载具 - JSONObject jsonExt = extTab.query("pcsn = '" + jo.getString("storagevehicle_code") + "'").uniqueResult(0); + JSONObject jsonExt = extTab.query("pcsn = '" + jodtl.getStoragevehicle_code() + "'").uniqueResult(0); if (ObjectUtil.isEmpty(jsonExt)) { - throw new BadRequestException("此木箱对应载具不存在!"+jo.getString("storagevehicle_code")); + throw new BadRequestException("此木箱对应载具不存在!"+jodtl.getStoragevehicle_code()); } task.put("vehicle_code2", jsonExt.getString("storagevehicle_code")); task.put("handle_class", HandMoveStorAcsTask.class.getName()); @@ -741,55 +734,54 @@ public class HandMoveStorServiceImpl implements HandMoveStorService { task.put("create_id", currentUserId); task.put("create_name", nickName); task.put("create_time", now); - task.put("update_optid", currentUserId); - task.put("update_optname", nickName); - task.put("update_time", now); task.put("priority", "1"); wo_Task.insert(task); - jo.put("task_id", task_id); + jodtl.setTask_id(task_id); } //插入明细表 - wo_dtl.insert(jo); + moveStorDtlMapper.insert(jodtl); + + JSONObject jo_param = (JSONObject) JSONObject.toJSON(jodtl); //更新移出库存 - jo.put("struct_id", jo.getString("turnout_struct_id")); - jo.put("change_qty", jo.getDoubleValue("qty")); - jo.put("bill_type_scode", jo_mst.getString("bill_type")); - jo.put("inv_id", moveinvdtl_id); - jo.put("bill_code", jo_mst.getString("bill_code")); - jo.put("bill_table", "ST_IVT_MoveInv"); - storPublicService.IOStor(jo, "11"); + jo_param.put("struct_id", jodtl.getTurnout_struct_id()); + jo_param.put("change_qty", jodtl.getQty()); + jo_param.put("bill_type_scode", jo_mst.getBill_type()); + jo_param.put("inv_id", moveinvdtl_id); + jo_param.put("bill_code", jo_mst.getBill_code()); + jo_param.put("bill_table", "ST_IVT_MoveInv"); + storPublicService.IOStor(jo_param, "11"); //更新移入库存 - jo.put("struct_id", turnin_struct_id); - jo.put("bill_type_scode", jo_mst.getString("bill_type")); - jo.put("inv_id", moveinvdtl_id); - jo.put("bill_code", jo_mst.getString("bill_code")); - jo.put("bill_table", "ST_IVT_MoveInv"); - storPublicService.IOStor(jo, "31"); + jo_param.put("struct_id", turnin_struct_id); + jo_param.put("bill_type_scode",jo_mst.getBill_type()); + jo_param.put("inv_id", moveinvdtl_id); + jo_param.put("bill_code", jo_mst.getBill_code()); + jo_param.put("bill_table", "ST_IVT_MoveInv"); + storPublicService.IOStor(jo_param, "31"); //锁定起点点位、仓位 JSONObject from_start = new JSONObject(); from_start.put("lock_type", "6"); - from_start.put("struct_id", jo.getString("turnout_struct_id")); - from_start.put("inv_type", jo_mst.getString("bill_type")); - from_start.put("inv_id", jo_mst.getString("moveinv_id")); - from_start.put("inv_code", jo_mst.getString("bill_code")); + from_start.put("struct_id", jodtl.getTurnout_struct_id()); + from_start.put("inv_type", jo_mst.getBill_type()); + from_start.put("inv_id", jo_mst.getMoveinv_id()); + from_start.put("inv_code", jo_mst.getBill_code()); from_start.put("taskdtl_type", task.getString("taskdtl_type")); from_start.put("taskdtl_id", task.getString("taskdtl_id")); from_start.put("task_code", task.getString("task_code")); - if(!jo_mst.getString("stor_id").equals(IOSEnum.STOR_ID.code("二期"))) { - storPublicService.updateStructAndPoint(from_start); - } else { + if((jo_mst.getStor_id()).equals(IOSEnum.STOR_ID.code("二期"))) { storPublicService.updateStructAndPointTwo(from_start); + } else { + storPublicService.updateStructAndPoint(from_start); } //锁定终点点位、仓位 from_start.put("struct_id", turnin_struct_id); from_start.put("lock_type", "7"); - if(!jo_mst.getString("stor_id").equals(IOSEnum.STOR_ID.code("二期"))) { - storPublicService.updateStructAndPoint(from_start); - } else { + if((jo_mst.getStor_id()).equals(IOSEnum.STOR_ID.code("二期"))) { storPublicService.updateStructAndPointTwo(from_start); + } else { + storPublicService.updateStructAndPoint(from_start); } } ret.put("total_qty", total_qty); @@ -809,151 +801,43 @@ public class HandMoveStorServiceImpl implements HandMoveStorService { @Override @Transactional(rollbackFor = Exception.class) - public void update(Map whereJson) { - //主表 - WQLObject wo_mst = WQLObject.getWQLObject("ST_IVT_MoveInv"); + public void update(JSONObject whereJson) { String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); - String moveinv_id = (String) whereJson.get("moveinv_id"); - //查询主表 - JSONObject jo_mst = wo_mst.query("moveinv_id='" + moveinv_id + "'").uniqueResult(0); - //调用删除明细,还原库存方法 - if (jo_mst.getString("stor_id").equals(IOSEnum.STOR_ID.code("二期"))) { - this.deleteByIdTwo(moveinv_id + ""); + String moveinv_id = whereJson.getString("moveinv_id"); + //查询原单据 + MoveStor moveStor = moveStorMapper.selectById(moveinv_id); + + //调用删除原单据明细,还原库存方法 + if ((moveStor.getStor_id()).equals(IOSEnum.STOR_ID.code("二期"))) { + this.deleteByIdTwo(moveinv_id+ ""); } else { - this.deleteById(moveinv_id + ""); + this.deleteById(moveinv_id+ ""); } //获取明细 - ArrayList rows = (ArrayList) whereJson.get("tableData"); - JSONArray arrayTwo = MapUtil.get(whereJson, "tableData", JSONArray.class); + JSONArray rows = whereJson.getJSONArray("tableData"); + whereJson.remove("tableData"); + moveStor.copyFrom(whereJson); //调用明细处理方法 JSONObject ret ; - if (jo_mst.getString("stor_id").equals(IOSEnum.STOR_ID.code("二期"))) { - ret = this.insertDtlByRows2(jo_mst, arrayTwo); + if ((moveStor.getStor_id()).equals(IOSEnum.STOR_ID.code("二期"))) { + ret = this.insertDtlByRows2(moveStor, rows); } else { - ret = this.insertDtlByRows(jo_mst, rows); - } - jo_mst.put("remark", whereJson.get("remark")); - jo_mst.put("biz_date", whereJson.get("biz_date")); - jo_mst.put("detail_count", ret.getString("detail_count")); - jo_mst.put("total_qty", ret.getString("total_qty")); - jo_mst.put("update_optid", currentUserId + ""); - jo_mst.put("update_optname", nickName); - jo_mst.put("update_time", now); - //更新主表 - wo_mst.update(jo_mst); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void allCancel(JSONObject whereJson) { - //出库分配表 - WQLObject wo_dis = WQLObject.getWQLObject("ST_IVT_IOStorInvDis"); - //出库明细表 - WQLObject wo_dtl = WQLObject.getWQLObject("ST_IVT_IOStorInvDtl"); - //出库主表 - WQLObject wo_mst = WQLObject.getWQLObject("ST_IVT_IOStorInv"); - //任务表 - WQLObject wo_Task = WQLObject.getWQLObject("SCH_BASE_Task"); - - String iostorinv_id = whereJson.getString("iostorinv_id"); - //查询主表信息 - JSONObject jo_mst = wo_mst.query("iostorinv_id = '" + iostorinv_id + "'").uniqueResult(0); - //查询未生成和生成未下发的分配记录 - JSONArray diss = WQL.getWO("QST_IVT_CHECKOUTBILL") - .addParam("flag", "5") - .addParam("iostorinvdtl_id", whereJson.getString("iostorinvdtl_id")) - .addParam("iostorinvdis_id", whereJson.getString("iostorinvdis_id")) - .addParam("iostorinv_id", iostorinv_id) - .addParam("bill_status", "01") - .addParam("is_issued", "0") - .process() - .getResultJSONArray(0); - if (ObjectUtil.isEmpty(diss)) { - throw new BadRequestException("不存在可以取消的出库分配明细"); - } - for (int i = 0; i < diss.size(); i++) { - JSONObject dis = diss.getJSONObject(i); - HashMap map = new HashMap<>(); - - String iostorinvdtl_id = dis.getString("iostorinvdtl_id"); - //统计【出入库单分配表】执行状态大于等于执行中,或【任务指令表】任务状态大于等于下发时的记录和 - JSONArray dtl = WQL.getWO("QST_IVT_CHECKOUTBILL") - .addParam("flag", "4") - .addParam("iostorinvdtl_id", iostorinvdtl_id) - .process() - .getResultJSONArray(0); - //若存在记录,则不可取消该出库明细对应的任何分配记录 - if (dtl.size() != 0) { - break; - } - double plan_qty = dis.getDoubleValue("plan_qty"); - //更新库存 - dis.put("change_qty", plan_qty + ""); - dis.put("bill_type_scode", jo_mst.getString("bill_type")); - dis.put("inv_id", iostorinv_id); - dis.put("bill_code", jo_mst.getString("bill_code")); - dis.put("bill_table", "ST_IVT_IOStorInv"); - storPublicService.IOStor(dis, "12"); - //删除【出入库单分配表】中分配记录 - wo_dis.delete("iostorinvdis_id='" + dis.getString("iostorinvdis_id") + "'"); - //更新【出入库单明细表】中分配记录 - JSONObject jo_dtl = wo_dtl.query("iostorinvdtl_id = '" + iostorinvdtl_id + "'").uniqueResult(0); - - jo_dtl.put("assign_qty", jo_dtl.getDoubleValue("assign_qty") - plan_qty); - jo_dtl.put("unassign_qty", jo_dtl.getDoubleValue("unassign_qty") + plan_qty); - - if (Double.valueOf(jo_dtl.getDoubleValue("unassign_qty")).equals(jo_dtl.getDoubleValue("plan_qty"))) { - jo_dtl.put("bill_status", "10"); - } else { - jo_dtl.put("bill_status", "30"); - } - wo_dtl.update(jo_dtl); - //更新主表状态 - this.updateMststatus(iostorinv_id); - //判断是否存在同单据的同起点仓位的分配 - JSONArray flag = WQL.getWO("QST_IVT_CHECKOUTBILL") - .addParam("flag", "5") - .addParam("is_issued", "0") - .addParam("struct_id", dis.getString("struct_id")) - .addParam("iostorinv_id", iostorinv_id) - .addParam("bill_status", "01") - .process() - .getResultJSONArray(0); - if (flag.size() == 0) {//仓位载具冻结数为0 - //任务号不为空 - if (ObjectUtil.isNotEmpty(dis.getString("task_id"))) { - //更新对应任务为删除 - map.put("is_delete", "1"); - wo_Task.update(map, "task_id='" + dis.getString("task_id") + "'"); - } - //解锁起点仓位点位 - JSONObject from_start = new JSONObject(); - from_start.put("struct_id", dis.getString("struct_id")); - from_start.put("lock_type", "1"); - storPublicService.updateStructAndPoint(from_start); - //解锁终点仓位点位 - if (StrUtil.isNotEmpty(dis.getString("point_code"))) { - JSONObject from_end = new JSONObject(); - from_end.put("point_code", dis.getString("point_code")); - from_end.put("lock_type", "1"); - storPublicService.updateStructAndPoint(from_end); - } - } else {//仓位载具扔有冻结数,需改任务类型为拣选出库 - //任务号不为空 - if (ObjectUtil.isNotEmpty(dis.getString("task_id"))) { - //更新对应任务为拣选出库 - map.put("taskdtl_type", "05"); - wo_Task.update(map, "task_id='" + dis.getString("task_id") + "'"); - } - } + ret = this.insertDtlByRows(moveStor, rows); } + moveStor.setDetail_count( ret.getInteger("detail_count")); + moveStor.setTotal_qty( ret.getDouble("total_qty")); + moveStor.setUpdate_optid(currentUserId); + moveStor.setUpdate_optname(nickName); + moveStor.setUpdate_time(now); + //更新主表 + moveStorMapper.updateById(moveStor); } @Override @@ -1064,128 +948,99 @@ public class HandMoveStorServiceImpl implements HandMoveStorService { @Override @Transactional(rollbackFor = Exception.class) public void confirm(JSONObject form) { - //明细表 - WQLObject wo_dtl = WQLObject.getWQLObject("ST_IVT_MoveInvDtl"); - //主表 - WQLObject wo_mst = WQLObject.getWQLObject("ST_IVT_MoveInv"); //任务表 WQLObject wo_Task = WQLObject.getWQLObject("SCH_BASE_Task"); String moveinv_id = form.getString("moveinv_id"); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); - String now = DateUtil.now(); - //查询主表信息 - JSONObject jo_mst = wo_mst.query("moveinv_id = '" + moveinv_id + "'").uniqueResult(0); + + //查询原单据 + MoveStor jo_mst = moveStorMapper.selectById(moveinv_id); if (ObjectUtil.isEmpty(jo_mst)) { throw new BadRequestException("未查到相关移库单"); } - //判断是否存在未确认状态的明细记录 - JSONObject task = wo_dtl.query("work_status ='02' and moveinv_id = '" + moveinv_id + "'").uniqueResult(0); - if (ObjectUtil.isNotEmpty(task)) { - throw new BadRequestException("存在已下发未完成的移库任务,不允许强制确认!"); - } - JSONArray ja = wo_dtl.query("moveinv_id='" + moveinv_id + "'").getResultJSONArray(0); - for (int i = 0; i < ja.size(); i++) { - JSONObject jo = ja.getJSONObject(i); - //删除任务 - HashMap task_map = new HashMap<>(); - task_map.put("task_status", "07"); - task_map.put("update_optid", currentUserId + ""); - task_map.put("update_optname", nickName); - task_map.put("update_time", now); - wo_Task.update(task_map, "task_id='" + jo.getString("task_id") + "'"); - //解锁起点点位、仓位,清除载具 - JSONObject from_start = new JSONObject(); - from_start.put("lock_type", "1"); - from_start.put("storagevehicle_code", jo.getString("storagevehicle_code")); - from_start.put("struct_id", jo.getString("turnout_struct_id")); - if (jo.getString("turnout_sect_code").equals("BZC01")) { - storPublicService.updateStructAndPointTwo(from_start); - } else { - storPublicService.updateStructAndPoint(from_start); + String bill_status = jo_mst.getBill_status(); + //如果主表不是完成状态 + if (!"99".equals(bill_status)) { + //判断是否存在未确认状态的明细记录 + LambdaQueryWrapper lam = new LambdaQueryWrapper(); + lam.eq(MoveStorDtl::getMoveinv_id,moveinv_id); + lam.eq(MoveStorDtl::getWork_status,"02"); + Integer tasksize = moveStorDtlMapper.selectCount(lam); + if (tasksize>0) { + throw new BadRequestException("存在已下发未完成的移库任务,不允许强制确认!"); } - //解锁终点点位、仓位,添加载具 - JSONObject from_end = new JSONObject(); - from_end.put("lock_type", "1"); - from_end.put("struct_id", jo.getString("turnin_struct_id")); - from_end.put("is_free", "0"); - from_end.put("storagevehicle_code", jo.getString("storagevehicle_code")); - if (jo.getString("turnout_sect_code").equals("BZC01")) { - storPublicService.updateStructAndPointTwo(from_end); - } else { - storPublicService.updateStructAndPoint(from_end); - } - //更新移出库存 - jo.put("struct_id", jo.getString("turnout_struct_id")); - jo.put("change_qty", jo.getDoubleValue("qty")); - jo.put("bill_type_scode", jo_mst.getString("bill_type")); - jo.put("inv_id", jo.getString("moveinvdtl_id")); - jo.put("bill_code", jo_mst.getString("bill_code")); - jo.put("bill_table", "ST_IVT_MoveInv"); - storPublicService.IOStor(jo, "21"); - //更新移入库存 - jo.put("struct_id", jo.getString("turnin_struct_id")); - jo.put("bill_type_scode", jo_mst.getString("bill_type")); - jo.put("inv_id", jo.getString("moveinvdtl_id")); - jo.put("bill_code", jo_mst.getString("bill_code")); - jo.put("bill_table", "ST_IVT_MoveInv"); - storPublicService.IOStor(jo, "33"); - //更新明细 - jo.put("work_status", "99"); - wo_dtl.update(jo); - } - HashMap map_mst = new HashMap<>(); - map_mst.put("bill_status", "99"); - map_mst.put("confirm_optid", currentUserId + ""); - map_mst.put("confirm_optname", nickName); - map_mst.put("confirm_time", now); - //更新主表状态 - wo_mst.update(map_mst, "moveinv_id='" + moveinv_id + "'"); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void issueTask(JSONObject whereJson) { - //出库分配表 - WQLObject wo_dis = WQLObject.getWQLObject("ST_IVT_IOStorInvDis"); - //任务表 - WQLObject wo_Task = WQLObject.getWQLObject("SCH_BASE_Task"); - - String currentUserId = SecurityUtils.getCurrentUserId(); - String nickName = SecurityUtils.getCurrentNickName(); - String now = DateUtil.now(); + LambdaQueryWrapper lamdtl = new LambdaQueryWrapper(); + lamdtl.eq(MoveStorDtl::getMoveinv_id,moveinv_id); + List ja = moveStorDtlMapper.selectList(lam); + + for (int i = 0; i < ja.size(); i++) { + MoveStorDtl jodtl = ja.get(i); + //更新任务 + HashMap task_map = new HashMap<>(); + task_map.put("task_status", TaskStatusEnum.FINISHED.getCode()); + task_map.put("update_optid", currentUserId + ""); + task_map.put("update_optname", nickName); + task_map.put("update_time", now); + wo_Task.update(task_map, "task_id='" + jodtl.getTask_id() + "'"); + //解锁起点点位、仓位,清除载具 + JSONObject from_start = new JSONObject(); + from_start.put("lock_type", "1"); + from_start.put("storagevehicle_code", jodtl.getStoragevehicle_code()); + from_start.put("struct_id", jodtl.getTurnout_struct_id()); + if ((jodtl.getTurnout_sect_code()).equals("BZC01")) { + storPublicService.updateStructAndPointTwo(from_start); + } else { + storPublicService.updateStructAndPoint(from_start); + } + //解锁终点点位、仓位,添加载具 + JSONObject from_end = new JSONObject(); + from_end.put("lock_type", "1"); + from_end.put("struct_id", jodtl.getTurnin_struct_id()); + from_end.put("is_free", "0"); + from_end.put("storagevehicle_code",jodtl.getStoragevehicle_code()); + if ((jodtl.getTurnout_sect_code()).equals("BZC01")) { + storPublicService.updateStructAndPointTwo(from_end); + } else { + storPublicService.updateStructAndPoint(from_end); + } - String task_id = whereJson.getString("task_id"); - String taskdtl_id = whereJson.getString("taskdtl_id"); - JSONObject result = null; - if (ObjectUtil.isNotEmpty(result)) { - String status = result.getString("status"); - if ("200".equals(status)) { - HashMap map = new HashMap<>(); - //更新分配表 - map.put("is_issued", "1"); - wo_dis.update(map, "task_id='" + task_id + "'"); - //更新任务为已下发 - map.put("task_status", "02"); - map.put("update_optid", currentUserId + ""); - map.put("update_optname", nickName); - map.put("update_time", now); - wo_Task.update(map, "taskdtl_id='" + taskdtl_id + "'"); - } else { - throw new BadRequestException("任务下发失败,请稍后重试!"); + JSONObject jo_param = (JSONObject) JSONObject.toJSON(jodtl); + + //更新移出库存 + jo_param.put("struct_id", jodtl.getTurnout_struct_id()); + jo_param.put("change_qty", jodtl.getQty()); + jo_param.put("bill_type_scode", jo_mst.getBill_type()); + jo_param.put("inv_id", jodtl.getMoveinvdtl_id()); + jo_param.put("bill_code", jo_mst.getBill_code()); + jo_param.put("bill_table", "ST_IVT_MoveInv"); + storPublicService.IOStor(jo_param, "21"); + //更新移入库存 + jo_param.put("struct_id", jodtl.getTurnin_struct_id()); + jo_param.put("bill_type_scode", jo_mst.getBill_type()); + jo_param.put("inv_id", jodtl.getMoveinvdtl_id()); + jo_param.put("bill_code", jo_mst.getBill_code()); + jo_param.put("bill_table", "ST_IVT_MoveInv"); + storPublicService.IOStor(jo_param, "33"); + //更新明细 + jodtl.setWork_status("99"); + moveStorDtlMapper.updateById(jodtl); } - } else { - throw new BadRequestException("任务下发失败,请稍后重试!"); + jo_mst.setBill_status("99"); + jo_mst.setConfirm_optid(currentUserId + ""); + jo_mst.setConfirm_optname(nickName); + jo_mst.setConfirm_time(now); + //更新主表状态 + moveStorMapper.updateById(jo_mst); } } @Override @Transactional(rollbackFor = Exception.class) public void finishTask(JSONObject whereJson) { - //出库分配表 - WQLObject wo_dis = WQLObject.getWQLObject("st_ivt_moveinvdtl"); //任务表 WQLObject wo_Task = WQLObject.getWQLObject("SCH_BASE_Task"); String task_id = whereJson.getString("task_id"); @@ -1198,7 +1053,6 @@ public class HandMoveStorServiceImpl implements HandMoveStorService { if (task == null) { throw new BadRequestException("查询不到操作的任务记录!"); } - String taskdtl_type = task.getString("taskdtl_type"); HashMap map = new HashMap<>(); //更新任务为完成 map.put("task_status", TaskStatusEnum.FINISHED.getCode()); @@ -1207,141 +1061,36 @@ public class HandMoveStorServiceImpl implements HandMoveStorService { map.put("update_optname", nickName); map.put("update_time", now); wo_Task.update(map, "task_id='" + task_id + "'"); - map.put("work_status", "99"); - wo_dis.update(map, "task_id='" + task_id + "'"); - JSONObject dis = wo_dis.query("task_id='" + task_id + "'").uniqueResult(0); - //判断是否还有未完成的分配 - JSONArray ja = wo_dis.query("work_status<>'99' and moveinv_id='" + dis.getString("moveinv_id") + "'").getResultJSONArray(0); - if (ja.size() == 0) { - this.confirm(dis); - } - } - @Override - @Transactional(rollbackFor = Exception.class) - public void cancleTaskfinish(JSONObject whereJson) { - //出库明细表 - WQLObject wo_dtl = WQLObject.getWQLObject("ST_IVT_IOStorInvDtl"); - //出库分配表 - WQLObject wo_dis = WQLObject.getWQLObject("ST_IVT_IOStorInvDis"); - //出库分配明细表 - WQLObject wo_DisDtl = WQLObject.getWQLObject("ST_IVT_IOStorInvDisDtl"); - //任务表 - WQLObject wo_Task = WQLObject.getWQLObject("SCH_BASE_Task"); - //出库主表 - WQLObject wo_mst = WQLObject.getWQLObject("ST_IVT_IOStorInv"); - //桶物料变动记录表 - WQLObject wo_BucketChangeFlow = WQLObject.getWQLObject("MD_PB_BucketChangeFlow"); - //桶记录表 - WQLObject wo_BucketRecord = WQLObject.getWQLObject("MD_PB_BucketRecord"); - - String iostorinv_id = whereJson.getString("iostorinv_id"); - String taskdtl_id = whereJson.getString("taskdtl_id"); - HashMap map = new HashMap(); - String currentUserId = SecurityUtils.getCurrentUserId(); - String nickName = SecurityUtils.getCurrentNickName(); + //更新明细 + LambdaUpdateWrapper lamdtl = new LambdaUpdateWrapper(); + lamdtl.eq(MoveStorDtl::getTask_id,task_id); + //更新 + lamdtl.set(MoveStorDtl::getWork_status,"99"); + moveStorDtlMapper.update(null,lamdtl); - String now = DateUtil.now(); - //查询主表信息 - JSONObject jo_mst = wo_mst.query("iostorinv_id = '" + iostorinv_id + "'").uniqueResult(0); - if (ObjectUtil.isEmpty(jo_mst)) { - throw new BadRequestException("未查到相关出库单"); - } - if ("99".equals(jo_mst.getString("bill_status"))) { - throw new BadRequestException("已审核单据不允许取消完成!"); - } - JSONObject task = wo_Task.query("taskdtl_id='" + taskdtl_id + "'").uniqueResult(0); - String taskdtl_type = task.getString("taskdtl_type"); - String task_id = task.getString("task_id"); - if ("05".contains(taskdtl_type)) { - //查询拣选出库对应的拣选回库有没有先取消完成 - JSONObject task06 = wo_Task.query("task_status='99' and taskdtl_type='06' and task_id='" + task_id + "'").uniqueResult(0); - if (task06 != null) { - throw new BadRequestException("请先取消拣选出库对应的拣选回库指令!"); - } + LambdaQueryWrapper lam = new LambdaQueryWrapper(); + lam.eq(MoveStorDtl::getTask_id,task_id); + List dtls = moveStorDtlMapper.selectList(lam); + + if(dtls.size() == 0){ + throw new BadRequestException("当前任务查询不到移库明细记录!"); } - //如果为拣选出库05 - if ("05,02".contains(taskdtl_type)) { - //更新任务为已下发 - map.put("task_status", "01"); - map.put("finished_type", ""); - map.put("update_optid", currentUserId + ""); - map.put("update_optname", nickName); - map.put("update_time", now); - wo_Task.update(map, "taskdtl_type='" + taskdtl_type + "' and task_id='" + task_id + "'"); - //查询生成和未分配完的明细 - JSONArray disdtls = WQL.getWO("QST_IVT_CHECKOUTBILL") - .addParam("flag", "8") - .addParam("task_id", task_id) - .process() - .getResultJSONArray(0); - if (disdtls.size() != 0) { - for (int i = 0; i < disdtls.size(); i++) { - JSONObject disdtl = disdtls.getJSONObject(i); - //更新桶记录相关表 - double real_qty_disDtl = disdtl.getDoubleValue("real_qty"); - String bucketunique = disdtl.getString("bucketunique"); - //查询桶记录 - JSONObject bucket = wo_BucketRecord.query("status='04' and bucketunique='" + bucketunique + "'").uniqueResult(0); - double storage_qty = bucket.getDoubleValue("storage_qty"); - //重量加回去 - storage_qty = storage_qty + real_qty_disDtl; - bucket.put("storage_qty", storage_qty); - bucket.put("outstor_optid", currentUserId); - bucket.put("outstor_optname", nickName); - bucket.put("outstor_time", now); - //更新桶记录表 - wo_BucketRecord.update(bucket); - //插入一条变动记录 - bucket.put("change_id", IdUtil.getSnowflake(1, 1).nextId() + ""); - bucket.put("bucket_code", bucketunique); - bucket.put("change_type_scode", "01"); - bucket.put("change_time", now); - bucket.put("rec_person", currentUserId); - bucket.put("change_qty", real_qty_disDtl); - bucket.put("result_qty", storage_qty); - wo_BucketChangeFlow.insert(bucket); - //清空分配明细表 - wo_DisDtl.delete("iostorinvdisdtl_id='" + disdtl.getString("iostorinvdisdtl_id") + "'"); - //倒推明细表、分配表实际数量 - JSONObject dis = wo_dis.query("iostorinvdis_id='" + disdtl.getString("iostorinvdis_id") + "'").uniqueResult(0); - dis.put("real_qty", dis.getDoubleValue("real_qty") - real_qty_disDtl); - dis.put("work_status", "01"); - dis.put("is_issued", "0"); - wo_dis.update(dis); - - JSONObject dtl = wo_dtl.query("iostorinvdtl_id='" + disdtl.getString("iostorinvdtl_id") + "'").uniqueResult(0); - double real_qty = dtl.getDoubleValue("real_qty") - real_qty_disDtl; - if (real_qty == 0) { - dtl.put("bill_status", "40"); - } - wo_dtl.update(dtl); - } - } else { - map.put("work_status", "01"); - map.put("is_issued", "0"); - wo_dis.update(map, "task_id='" + task_id + "'"); - } - //更新主表状态 - this.updateMststatus(whereJson.getString("iostorinv_id")); - } else if ("06".equals(taskdtl_type)) {//如果为拣选回库 - //更新任务为已下发 - map.put("task_status", "01"); - map.put("finished_type", ""); - map.put("update_optid", currentUserId + ""); - map.put("update_optname", nickName); - map.put("update_time", now); - wo_Task.update(map, "taskdtl_type='06' and task_id='" + task_id + "'"); + + LambdaQueryWrapper lam2 = new LambdaQueryWrapper(); + lam2.eq(MoveStorDtl::getMoveinv_id,dtls.get(0).getMaterial_id()); + lam2.ne(MoveStorDtl::getWork_status,"99"); + Integer dtlsize = moveStorDtlMapper.selectCount(lam2); + + //判断是否还有未完成的分配 + if (dtlsize == 0) { + this.confirm((JSONObject) JSONObject.toJSON(dtls.get(0))); } } @Override @Transactional(rollbackFor = Exception.class) public void handdown(JSONObject whereJson) { - //移库单主表 - WQLObject wo_mst = WQLObject.getWQLObject("ST_IVT_MoveInv"); - //移库单明细表 - WQLObject wo_dtl = WQLObject.getWQLObject("ST_IVT_MoveInvDtl"); //任务表 WQLObject wo_Task = WQLObject.getWQLObject("SCH_BASE_Task"); //仓位表 @@ -1383,13 +1132,17 @@ public class HandMoveStorServiceImpl implements HandMoveStorService { if (ObjectUtil.isNotEmpty(result)) { String status = result.getString("status"); if ("200".equals(status)) { - HashMap map = new HashMap<>(); - //更新分配表 - map.put("is_issued", "1"); - map.put("work_status", "02"); - wo_dtl.update(map, "is_issued='0' and task_id='" + task.getString("task_id") + "'"); + //更新明细为提交 + LambdaUpdateWrapper lamdtl = new LambdaUpdateWrapper(); + lamdtl.eq(MoveStorDtl::getIs_issued,"0"); + lamdtl.eq(MoveStorDtl::getTask_id,task.getString("task_id")); + //更新 + lamdtl.set(MoveStorDtl::getIs_issued,"1"); + lamdtl.set(MoveStorDtl::getWork_status,"02"); + moveStorDtlMapper.update(null,lamdtl); //更新任务为已下发 - map.put("task_status", "05"); + HashMap map = new HashMap<>(); + map.put("task_status", TaskStatusEnum.ISSUE.getCode()); map.put("update_optid", currentUserId + ""); map.put("update_optname", nickName); map.put("update_time", now); @@ -1401,9 +1154,12 @@ public class HandMoveStorServiceImpl implements HandMoveStorService { throw new BadRequestException("任务下发失败,请稍后重试!"); } } - HashMap map = new HashMap<>(); - map.put("bill_status", "20"); - wo_mst.update(map, "moveinv_id='" + moveinv_id + "'"); + + LambdaUpdateWrapper lam = new LambdaUpdateWrapper(); + lam.eq(MoveStor::getMoveinv_id,moveinv_id); + //更新移库单主表 + lam.set(MoveStor::getBill_status, "20"); + moveStorMapper.update(null,lam); } @Override @@ -1684,59 +1440,6 @@ public class HandMoveStorServiceImpl implements HandMoveStorService { return jsonLockArr.size(); } - @Override - public JSONArray getInvTypes() { - //查询单据字段类型 - JSONArray ja = WQL.getWO("ST_PUB_QUERY_01") - .addParam("flag", "4") - .process() - .getResultJSONArray(0); - return ja; - } - - /** - * 更新主表状态 - * - * @param iostorinv_id - */ - void updateMststatus(String iostorinv_id) { - //出库主表 - WQLObject wo_mst = WQLObject.getWQLObject("ST_IVT_IOStorInv"); - //出库明细表 - WQLObject wo_dtl = WQLObject.getWQLObject("ST_IVT_IOStorInvDtl"); - - String currentUserId = SecurityUtils.getCurrentUserId(); - String nickName = SecurityUtils.getCurrentNickName(); - String now = DateUtil.now(); - //查询主表信息 - JSONObject jo_mst = wo_mst.query("iostorinv_id = '" + iostorinv_id + "'").uniqueResult(0); - jo_mst.put("update_optid", currentUserId + ""); - jo_mst.put("update_optname", nickName); - jo_mst.put("update_time", now); - //更新主表状态 - JSONArray dtls_40 = wo_dtl.query("bill_status='40' and iostorinv_id = '" + iostorinv_id + "'").getResultJSONArray(0); - //已分配完明细数小于总明细数 - if (dtls_40.size() < jo_mst.getInteger("detail_count")) { - - JSONArray dtls_30 = wo_dtl.query("bill_status='30' and iostorinv_id = '" + iostorinv_id + "'").getResultJSONArray(0); - //存在分配完的明细 - if (dtls_40.size() != 0) {//分配中明细数不为0 - jo_mst.put("bill_status", "30"); - } else if (dtls_40.size() == 0) { - //不存在分配中和分配完的明细 - if (dtls_30.size() == 0) { - jo_mst.put("bill_status", "10"); - }//存在分配中的明细 - else if (dtls_30.size() != 0) { - jo_mst.put("bill_status", "30"); - } - } - } else {//已分配完明细数等于总明细数 - jo_mst.put("bill_status", "40"); - } - wo_mst.update(jo_mst); - } - /** * 扩容移库 * @param whereJson / diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/task/HandMoveStorAcsTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/task/HandMoveStorAcsTask.java index e692760..37c3941 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/task/HandMoveStorAcsTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/task/HandMoveStorAcsTask.java @@ -13,7 +13,7 @@ import org.nl.modules.wql.util.SpringContextHolder; import org.nl.wms.sch.AcsTaskDto; import org.nl.wms.sch.manage.AbstractAcsTask; import org.nl.wms.sch.manage.TaskStatusEnum; -import org.nl.wms.st.instor.service.impl.HandMoveStorServiceImpl; +import org.nl.wms.st.instor.movestor.service.impl.HandMoveStorServiceImpl; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/wql/QST_IVT_HANDMOVESTOR.wql b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/wql/QST_IVT_HANDMOVESTOR.wql index d51b2c4..7ad5ff3 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/wql/QST_IVT_HANDMOVESTOR.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/wql/QST_IVT_HANDMOVESTOR.wql @@ -72,66 +72,11 @@ # 3、业务主过程 # ########################################## - IF 输入.flag = "1" - PAGEQUERY - SELECT - move.moveinv_id AS id, - move.* - FROM - ST_IVT_MoveInv move - WHERE - 1 = 1 - AND move.is_delete = '0' - AND move.moveinv_id IN ( - SELECT DISTINCT - (movedtl.moveinv_id) - FROM - st_ivt_moveinvdtl movedtl - LEFT JOIN md_me_materialbase mb ON mb.material_id = movedtl.material_id - WHERE - 1 = 1 - OPTION 输入.material_code <> "" - (mb.material_code LIKE 输入.material_code OR mb.material_name LIKE 输入.material_code) - ENDOPTION - ) - AND move.stor_id in 输入.in_stor_id - - OPTION 输入.bill_code <> "" - move.bill_code like 输入.bill_code - ENDOPTION - OPTION 输入.buss_type <> "" - move.buss_type like 输入.buss_type - ENDOPTION - OPTION 输入.bill_type <> "" - move.bill_type = 输入.bill_type - ENDOPTION - OPTION 输入.stor_id <> "" - move.stor_id = 输入.stor_id - ENDOPTION - OPTION 输入.deptIds <> "" - move.sysdeptid in 输入.deptIds - ENDOPTION - OPTION 输入.create_mode <> "" - move.create_mode = 输入.create_mode - ENDOPTION - OPTION 输入.bill_status <> "" - move.bill_status = 输入.bill_status - ENDOPTION - OPTION 输入.begin_time <> "" - move.input_time >= 输入.begin_time - ENDOPTION - OPTION 输入.end_time <> "" - move.input_time <= 输入.end_time - ENDOPTION - - ENDSELECT - ENDPAGEQUERY - ENDIF - IF 输入.flag = "2" QUERY SELECT MoveInvDtl.*, + true as edit, mb.material_code, mb.material_name FROM @@ -244,48 +189,6 @@ ENDPAGEQUERY ENDIF - IF 输入.flag = "35" - QUERY - SELECT - ivt2.stockrecord_id, - ivt2.material_id, - ivt2.pcsn, - ivt2.quality_scode, - ivt2.qty_unit_id, - ivt2.ivt_qty AS qty, - mb.material_code, - mb.material_name, - struct.struct_id AS turnout_struct_id, - struct.struct_code AS turnout_struct_code, - struct.struct_name AS turnout_struct_name, - struct.sect_id AS turnout_sect_id, - struct.sect_name AS turnout_sect_name, - struct.sect_code AS turnout_sect_code, - struct.storagevehicle_id, - struct.storagevehicle_code, - mu.unit_name AS qty_unit_name, - sub.sale_order_name, - sub.customer_name, - sub.customer_description, - sub.sap_pcsn - FROM - st_ivt_structattr struct - INNER JOIN ST_IVT_StructIvt ivt2 ON struct.struct_id = ivt2.struct_id - LEFT JOIN md_me_materialbase mb ON mb.material_id = ivt2.material_id - LEFT JOIN md_pb_measureunit mu ON mu.measure_unit_id = ivt2.qty_unit_id - LEFT JOIN pdm_bi_subpackagerelation sub ON sub.container_name = ivt2.pcsn AND sub.package_box_sn = struct.storagevehicle_code - WHERE - 1 = 1 - AND struct.lock_type = '1' - - OPTION 输入.package_box_sn <> "" - sub.package_box_sn = 输入.package_box_sn - ENDOPTION - - ENDSELECT - ENDQUERY - ENDIF - IF 输入.flag = "33" QUERY SELECT @@ -304,7 +207,6 @@ struct.sect_id AS turnout_sect_id, struct.sect_name AS turnout_sect_name, struct.sect_code AS turnout_sect_code, - struct.storagevehicle_id, struct.storagevehicle_code, point.point_code AS start_point_code FROM @@ -312,7 +214,7 @@ INNER JOIN ST_IVT_StructIvt ivt2 ON struct.struct_id = ivt2.struct_id LEFT JOIN md_me_materialbase mb ON mb.material_id = ivt2.material_id LEFT JOIN SCH_BASE_Point point ON point.source_id = struct.struct_id - LEFT JOIN md_pb_measureunit mu ON mu.measure_unit_id = mb.base_unit_id + LEFT JOIN md_pb_measureunit mu ON mu.measure_unit_id = mb.base_unit_id WHERE 1 = 1 AND struct.lock_type = '1' @@ -339,6 +241,46 @@ ENDQUERY ENDIF + IF 输入.flag = "35" + QUERY + SELECT + ivt2.stockrecord_id, + ivt2.material_id, + ivt2.pcsn, + ivt2.quality_scode, + ivt2.qty_unit_id, + ivt2.ivt_qty AS qty, + mb.material_code, + mb.material_name, + struct.struct_id AS turnout_struct_id, + struct.struct_code AS turnout_struct_code, + struct.struct_name AS turnout_struct_name, + struct.sect_id AS turnout_sect_id, + struct.sect_name AS turnout_sect_name, + struct.sect_code AS turnout_sect_code, + struct.storagevehicle_id, + struct.storagevehicle_code, + mu.unit_name AS qty_unit_name, + sub.sale_order_name, + sub.customer_name, + sub.customer_description, + sub.sap_pcsn + FROM + st_ivt_structattr struct + INNER JOIN ST_IVT_StructIvt ivt2 ON struct.struct_id = ivt2.struct_id + LEFT JOIN md_me_materialbase mb ON mb.material_id = ivt2.material_id + LEFT JOIN md_pb_measureunit mu ON mu.measure_unit_id = ivt2.qty_unit_id + LEFT JOIN pdm_bi_subpackagerelation sub ON sub.container_name = ivt2.pcsn AND sub.package_box_sn = struct.storagevehicle_code + WHERE + 1 = 1 + AND struct.lock_type = '1' + OPTION 输入.package_box_sn <> "" + sub.package_box_sn = 输入.package_box_sn + ENDOPTION + ENDSELECT + ENDQUERY + ENDIF + IF 输入.flag = "4" QUERY SELECT diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/impl/CheckOutBillServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/impl/CheckOutBillServiceImpl.java index 6dbabbe..1a35845 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/impl/CheckOutBillServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/impl/CheckOutBillServiceImpl.java @@ -35,8 +35,8 @@ import org.nl.wms.sch.tasks.OutTask; import org.nl.wms.st.inbill.service.CheckOutBillService; import org.nl.wms.st.inbill.service.RawAssistIStorService; import org.nl.wms.st.inbill.service.StorPublicService; -import org.nl.wms.st.instor.service.HandMoveStorService; -import org.nl.wms.st.instor.service.impl.HandMoveStorServiceImpl; +import org.nl.wms.st.instor.movestor.service.HandMoveStorService; +import org.nl.wms.st.instor.movestor.service.impl.HandMoveStorServiceImpl; import org.nl.wms.st.instor.task.HandMoveStorAcsTask; import org.nl.wms.st.outbill.util.ThreadManage; import org.nl.wms.st.returns.service.InAndOutReturnService; diff --git a/lms/nladmin-ui/src/views/wms/st/inStor/change/AddDialog.vue b/lms/nladmin-ui/src/views/wms/st/inStor/change/AddDialog.vue index 9af7539..e7ecdad 100644 --- a/lms/nladmin-ui/src/views/wms/st/inStor/change/AddDialog.vue +++ b/lms/nladmin-ui/src/views/wms/st/inStor/change/AddDialog.vue @@ -333,8 +333,7 @@ - diff --git a/lms/nladmin-ui/src/views/wms/st/inbill/index.vue b/lms/nladmin-ui/src/views/wms/st/inbill/index.vue index ab23a87..ae87b24 100644 --- a/lms/nladmin-ui/src/views/wms/st/inbill/index.vue +++ b/lms/nladmin-ui/src/views/wms/st/inbill/index.vue @@ -144,17 +144,6 @@ -