diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/subpackage/controller/PdmBiSubpackagerelationController.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/subpackage/controller/PdmBiSubpackagerelationController.java index 5168ac5..77e08c3 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/subpackage/controller/PdmBiSubpackagerelationController.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/subpackage/controller/PdmBiSubpackagerelationController.java @@ -33,5 +33,11 @@ public class PdmBiSubpackagerelationController { return new ResponseEntity<>(iPdmBiSubpackagerelationService.pageQuery(query,page), HttpStatus.OK); } + @GetMapping("/getTestOut") + @Log("出库新增物料测试") + public ResponseEntity getTestOut(SubPackageQuery query, PageQuery page){ + return new ResponseEntity<>(iPdmBiSubpackagerelationService.getTestOut(query,page), HttpStatus.OK); + } + } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/subpackage/service/IPdmBiSubpackagerelationService.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/subpackage/service/IPdmBiSubpackagerelationService.java index 32ec350..8cdde2c 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/subpackage/service/IPdmBiSubpackagerelationService.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/subpackage/service/IPdmBiSubpackagerelationService.java @@ -21,4 +21,12 @@ public interface IPdmBiSubpackagerelationService extends IService { List getPageQuery(@Param("query") SubPackageQuery query, @Param("pageQuery") PageQuery pageQuery); + + /** + * 出库新增测试 + * @param query + * @param pageQuery + * @return + */ + List getTestOut(@Param("query") SubPackageQuery query, @Param("pageQuery") PageQuery pageQuery); } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/subpackage/service/dao/mapper/xml/PdmBiSubpackagerelationMapper.xml b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/subpackage/service/dao/mapper/xml/PdmBiSubpackagerelationMapper.xml index 06d6ff5..3b6aecb 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/subpackage/service/dao/mapper/xml/PdmBiSubpackagerelationMapper.xml +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/subpackage/service/dao/mapper/xml/PdmBiSubpackagerelationMapper.xml @@ -46,4 +46,46 @@ + + diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/subpackage/service/dto/SubPackageQuery.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/subpackage/service/dto/SubPackageQuery.java index c7d4c30..5c2fa0a 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/subpackage/service/dto/SubPackageQuery.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/subpackage/service/dto/SubPackageQuery.java @@ -6,6 +6,8 @@ import org.nl.common.domain.query.QParam; import org.nl.common.enums.QueryTEnum; import org.nl.wms.pdm.subpackage.service.dao.PdmBiSubpackagerelation; +import java.util.List; + /* * @author LXY * @Date 2023/11/10 14:49 @@ -26,6 +28,7 @@ public class SubPackageQuery extends BaseQuery { private String sap_pcsn; + private List list; @Override public void paramMapping() { diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/subpackage/service/impl/PdmBiSubpackagerelationServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/subpackage/service/impl/PdmBiSubpackagerelationServiceImpl.java index cf94d3f..92abaa4 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/subpackage/service/impl/PdmBiSubpackagerelationServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/subpackage/service/impl/PdmBiSubpackagerelationServiceImpl.java @@ -1,5 +1,6 @@ package org.nl.wms.pdm.subpackage.service.impl; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; @@ -35,4 +36,15 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl page = PageHelper.startPage(pageQuery.getPage() + 1, pageQuery.getSize()); + page.setOrderBy("package_box_sn DESC"); + List mst_detail = this.baseMapper.getTestOut(query, pageQuery); + + TableDataInfo build = TableDataInfo.build(mst_detail); + build.setTotalElements(page.getTotal()); + return build; + } } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/storage_manage/ios/controller/iostorInv/StIvtIostorinvOutController.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/storage_manage/ios/controller/iostorInv/StIvtIostorinvOutController.java new file mode 100644 index 0000000..cb3f1cf --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/storage_manage/ios/controller/iostorInv/StIvtIostorinvOutController.java @@ -0,0 +1,130 @@ +package org.nl.wms.storage_manage.ios.controller.iostorInv; + + +import com.alibaba.fastjson.JSONObject; +import org.nl.common.domain.query.PageQuery; +import org.nl.common.logging.annotation.Log; +import org.nl.wms.storage_manage.ios.service.iostorInv.IStIvtIostorinvOutService; +import org.nl.wms.storage_manage.ios.service.iostorInv.dto.IostorInvQuery; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +/** + *

+ * 出库单主表 前端控制器 + *

+ * + * @author generator + * @since 2023-11-10 + */ +@RestController +@RequestMapping("/api/stIvtIostorinv/outBill") +public class StIvtIostorinvOutController { + + @Autowired + private IStIvtIostorinvOutService stIvtIostorinvOutService; + + @GetMapping + @Log("查询出库单") + public ResponseEntity query(IostorInvQuery query, PageQuery page) { + return new ResponseEntity<>(stIvtIostorinvOutService.pageQuery(query, page), HttpStatus.OK); + } + + @PostMapping + @Log("新增出库单") + public ResponseEntity create(@RequestBody JSONObject whereJson) { + stIvtIostorinvOutService.create(whereJson); + return new ResponseEntity<>(HttpStatus.OK); + } + + @PutMapping + @Log("新增出库单") + public ResponseEntity update(@RequestBody JSONObject whereJson) { + stIvtIostorinvOutService.update(whereJson); + return new ResponseEntity<>(HttpStatus.OK); + } + + @DeleteMapping + @Log("删除入库单") + public ResponseEntity delete(@RequestBody Long[] ids){ + stIvtIostorinvOutService.delete(ids); + return new ResponseEntity<>(HttpStatus.OK); + } + + @PostMapping("/queryBoxMater") + @Log("查询木箱对应子卷") + public ResponseEntity queryBoxMater(@RequestBody JSONObject whereJson) { + return new ResponseEntity<>(stIvtIostorinvOutService.queryBoxMater(whereJson), HttpStatus.OK); + } + + @PostMapping("/getIosDtl") + @Log("获取明细") + public ResponseEntity getIosDtl(@RequestBody JSONObject whereJson) { + return new ResponseEntity<>(stIvtIostorinvOutService.getIosDtl(whereJson), HttpStatus.OK); + } + + @PostMapping("/getIosDis") + @Log("获取分配明细") + public ResponseEntity getIosDis(@RequestBody JSONObject whereJson) { + return new ResponseEntity<>(stIvtIostorinvOutService.getIosDis(whereJson), HttpStatus.OK); + } + + @PostMapping("/moneySubmit") + @Log("发货信息保存") + public ResponseEntity moneySubmit(@RequestBody JSONObject whereJson) { + stIvtIostorinvOutService.moneySubmit(whereJson); + return new ResponseEntity<>(HttpStatus.OK); + } + + @PostMapping("/allDiv") + @Log("分配") + public ResponseEntity allDiv(@RequestBody JSONObject whereJson) { + stIvtIostorinvOutService.allDiv(whereJson); + return new ResponseEntity<>(HttpStatus.OK); + } + + @PostMapping("/allCancel") + @Log("取消分配") + public ResponseEntity allCancel(@RequestBody JSONObject whereJson) { + stIvtIostorinvOutService.allCancel(whereJson); + return new ResponseEntity<>(HttpStatus.OK); + } + + @PostMapping("/allSetPoint") + @Log("全部设置站点") + public ResponseEntity allSetPoint(@RequestBody JSONObject whereJson) { + stIvtIostorinvOutService.allSetPoint(whereJson); + return new ResponseEntity<>(HttpStatus.OK); + } + + @PostMapping("/getIosDisTask") + @Log("获取明细任务") + public ResponseEntity getIosDisTask(@RequestBody JSONObject whereJson) { + return new ResponseEntity<>(stIvtIostorinvOutService.getIosDisTask(whereJson),HttpStatus.OK); + } + + @PostMapping("/issueTask") + @Log("下发任务") + public ResponseEntity issueTask(@RequestBody JSONObject whereJson) { + stIvtIostorinvOutService.issueTask(whereJson); + return new ResponseEntity<>(HttpStatus.OK); + } + + @PostMapping("/confirmTask") + @Log("标识完成任务") + public ResponseEntity confirmTask(@RequestBody JSONObject whereJson) { + stIvtIostorinvOutService.confirmTask(whereJson); + return new ResponseEntity<>(HttpStatus.OK); + } + + @PostMapping("/confirm") + @Log("单据强制确认") + public ResponseEntity confirm(@RequestBody JSONObject whereJson) { + stIvtIostorinvOutService.confirm(whereJson); + return new ResponseEntity<>(HttpStatus.OK); + } + +} + diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/storage_manage/ios/service/iostorInv/IStIvtIostorinvOutService.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/storage_manage/ios/service/iostorInv/IStIvtIostorinvOutService.java new file mode 100644 index 0000000..5f4ccef --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/storage_manage/ios/service/iostorInv/IStIvtIostorinvOutService.java @@ -0,0 +1,174 @@ +package org.nl.wms.storage_manage.ios.service.iostorInv; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.extension.service.IService; +import org.nl.common.domain.query.PageQuery; +import org.nl.wms.storage_manage.ios.service.iostorInv.dao.StIvtIostorinv; +import org.nl.wms.storage_manage.ios.service.iostorInv.dto.IostorInvQuery; + +/** + *

+ * 出库单主表 服务类 + *

+ * + * @author generator + * @since 2023-11-10 + */ +public interface IStIvtIostorinvOutService extends IService { + + /** + * 分页查询 + * @param query,page / + * @return Object + */ + Object pageQuery(IostorInvQuery query, PageQuery page); + + /** + * 查询木箱对应子卷 + * @param whereJson { + * 'data': [子卷信息] + * } + * @return JSONArray + */ + JSONArray queryBoxMater(JSONObject whereJson); + + /** + * 新增出库单 + * @param whereJson + * { + * stor_id: + * stor_code: + * stor_name: + * total_qty: + * detail_count: + * bill_type: + * remark: + * biz_date: + * out_stor_id: + * create_mode: + * tableData: [明细] + * } + */ + void create(JSONObject whereJson); + + /** + * 修改出库单 + * @param whereJson + * { + * stor_id: + * stor_code: + * stor_name: + * total_qty: + * detail_count: + * remark: + * biz_date: + * tableData: [明细] + * } + */ + void update(JSONObject whereJson); + + /** + * 删除入库单 + * @param ids / + */ + void delete(Long[] ids); + + /** + * 获取明细 + * @param whereJson + * { + * iostorinv_id + * } + * @return JSONArray + */ + JSONArray getIosDtl(JSONObject whereJson); + + /** + * 获取分配明细 + * @param whereJson + * { + * iostorinv_id + * } + * @return JSONArray + */ + JSONArray getIosDis(JSONObject whereJson); + + /** + * 发货信息保存 + * @param whereJson + * { + * 主表字段 + * } + */ + void moneySubmit(JSONObject whereJson); + + /** + * 分配 + * @param whereJson + * { + * iostorinv_id: + * iostorinvdtl_id: 为空全部分配,否则分配一条 + * } + */ + void allDiv(JSONObject whereJson); + + /** + * 取消分配 + * @param whereJson + * { + * iostorinv_id: + * iostorinvdtl_id: 为空全部分配,否则分配一条 + * } + */ + void allCancel(JSONObject whereJson); + + /** + * 全部设置站点 + * @param whereJson + * { + * point_code: 起点 + * iostorinv_id: + * checked: 是否异常出库口 + * } + */ + void allSetPoint(JSONObject whereJson); + + /** + * 获取明细任务 + * @param whereJson + * { + * iostorinvdtl_id: + * checked:是否显示未完成任务 + * } + * @return JSONArray + */ + JSONArray getIosDisTask(JSONObject whereJson); + + /** + * 下发任务 + * @param whereJson + * { + * 分配明细 + * } + */ + void issueTask(JSONObject whereJson); + + /** + * 标识完成任务 + * @param whereJson + * { + * 分配明细 + * } + */ + void confirmTask(JSONObject whereJson); + + /** + * 单据强制确认 + * @param whereJson + * { + * iostorinv_id + * } + */ + void confirm(JSONObject whereJson); +} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/storage_manage/ios/service/iostorInv/dao/mapper/StIvtIostorinvMapper.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/storage_manage/ios/service/iostorInv/dao/mapper/StIvtIostorinvMapper.java index 4284432..354e331 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/storage_manage/ios/service/iostorInv/dao/mapper/StIvtIostorinvMapper.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/storage_manage/ios/service/iostorInv/dao/mapper/StIvtIostorinvMapper.java @@ -19,5 +19,11 @@ import java.util.Map; */ public interface StIvtIostorinvMapper extends BaseMapper { + /** + * 查询入库单 + * @param query + * @param pageQuery + * @return + */ List getPageQuery(@Param("query") IostorInvQuery query, @Param("pageQuery") PageQuery pageQuery); } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/storage_manage/ios/service/iostorInv/dao/mapper/StIvtIostorinvOutMapper.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/storage_manage/ios/service/iostorInv/dao/mapper/StIvtIostorinvOutMapper.java new file mode 100644 index 0000000..2bdddbd --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/storage_manage/ios/service/iostorInv/dao/mapper/StIvtIostorinvOutMapper.java @@ -0,0 +1,29 @@ +package org.nl.wms.storage_manage.ios.service.iostorInv.dao.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; +import org.nl.common.domain.query.PageQuery; +import org.nl.wms.storage_manage.ios.service.iostorInv.dao.StIvtIostorinv; +import org.nl.wms.storage_manage.ios.service.iostorInv.dto.IostorInvQuery; + +import java.util.List; +import java.util.Map; + +/** + *

+ * 出入库单主表 Mapper 接口 + *

+ * + * @author generator + * @since 2023-11-10 + */ +public interface StIvtIostorinvOutMapper extends BaseMapper { + + /** + * 查询出库单 + * @param query + * @param pageQuery + * @return + */ + List getPageQuery(@Param("query") IostorInvQuery query, @Param("pageQuery") PageQuery pageQuery); +} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/storage_manage/ios/service/iostorInv/dao/mapper/xml/StIvtIostorinvOutMapper.xml b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/storage_manage/ios/service/iostorInv/dao/mapper/xml/StIvtIostorinvOutMapper.xml new file mode 100644 index 0000000..743dd57 --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/storage_manage/ios/service/iostorInv/dao/mapper/xml/StIvtIostorinvOutMapper.xml @@ -0,0 +1,37 @@ + + + + + + + diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvOutServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvOutServiceImpl.java new file mode 100644 index 0000000..65696aa --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvOutServiceImpl.java @@ -0,0 +1,625 @@ +package org.nl.wms.storage_manage.ios.service.iostorInv.impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.NumberUtil; +import cn.hutool.core.util.ObjectUtil; +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.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.github.pagehelper.Page; +import com.github.pagehelper.PageHelper; +import org.nl.common.base.TableDataInfo; +import org.nl.common.domain.query.PageQuery; +import org.nl.common.exception.BadRequestException; +import org.nl.common.utils.CodeUtil; +import org.nl.common.utils.SecurityUtils; +import org.nl.config.IdUtil; +import org.nl.wms.pdm.subpackage.service.dao.mapper.PdmBiSubpackagerelationMapper; +import org.nl.wms.pdm.subpackage.service.dto.SubPackageQuery; +import org.nl.wms.sch.point.service.ISchBasePointService; +import org.nl.wms.sch.point.service.dao.SchBasePoint; +import org.nl.wms.sch.task.service.ISchBaseTaskService; +import org.nl.wms.sch.task.service.dao.SchBaseTask; +import org.nl.wms.storage_manage.ios.enums.IOSEnum; +import org.nl.wms.storage_manage.ios.service.iostorInv.IStIvtIostorinvOutService; +import org.nl.wms.storage_manage.ios.service.iostorInv.IStIvtIostorinvdisService; +import org.nl.wms.storage_manage.ios.service.iostorInv.IStIvtIostorinvdtlService; +import org.nl.wms.storage_manage.ios.service.iostorInv.dao.StIvtIostorinv; +import org.nl.wms.storage_manage.ios.service.iostorInv.dao.StIvtIostorinvdis; +import org.nl.wms.storage_manage.ios.service.iostorInv.dao.StIvtIostorinvdtl; +import org.nl.wms.storage_manage.ios.service.iostorInv.dao.mapper.StIvtIostorinvOutMapper; +import org.nl.wms.storage_manage.ios.service.iostorInv.dto.IostorInvQuery; +import org.nl.wms.storage_manage.ios.util.IosOutRuleService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + *

+ * 出入库单主表 服务实现类 + *

+ * + * @author generator + * @since 2023-11-10 + */ +@Service +public class StIvtIostorinvOutServiceImpl extends ServiceImpl implements IStIvtIostorinvOutService { + + @Autowired + private PdmBiSubpackagerelationMapper pdmBiSubpackagerelationMapper; // 子卷包装mapper + + @Autowired + private IStIvtIostorinvdtlService iStIvtIostorinvdtlService; // 出入库明细服务 + + @Autowired + private IStIvtIostorinvdisService iStIvtIostorinvdisService; // 出入库分配明细服务 + + @Autowired + private IosOutRuleService iosOutRuleService; // 出库分配规则 + + @Autowired + private ISchBasePointService iSchBasePointService; // 点位服务 + + @Autowired + private ISchBaseTaskService iSchBaseTaskService; // 任务服务 + + @Override + public Object pageQuery(IostorInvQuery query, PageQuery pageQuery) { + Page page = PageHelper.startPage(pageQuery.getPage() + 1, pageQuery.getSize()); + page.setOrderBy("input_time DESC"); + List mst_detail = this.baseMapper.getPageQuery(query, pageQuery); + + TableDataInfo build = TableDataInfo.build(mst_detail); + build.setTotalElements(page.getTotal()); + return build; + } + + @Override + public JSONArray queryBoxMater(JSONObject whereJson) { + List collect = whereJson.getJSONArray("data").stream() + .map(row -> JSON.parseObject(JSONObject.toJSONString(row))) + .map(row -> row.getString("box_no")) + .distinct() + .collect(Collectors.toList()); + + SubPackageQuery subPackageQuery = new SubPackageQuery(); + subPackageQuery.setList(collect); + List resultList = pdmBiSubpackagerelationMapper.getTestOut(subPackageQuery, null); + + return JSONArray.parseArray(JSONObject.toJSONString(resultList)); + } + + @Override + @Transactional + public void create(JSONObject whereJson) { + + // 组织主表数据 + StIvtIostorinv mstDao = StIvtIostorinv.builder() + .iostorinv_id(IdUtil.getStringId()) + .bill_code(CodeUtil.getNewCode("OUT_IVN_CODE")) + .bill_status(IOSEnum.BILL_STATUS.code("生成")) + .create_mode(IOSEnum.CREATE_MODE.code("PC产生")) + .io_type(IOSEnum.IO_TYPE.code("出库")) + .input_optid(SecurityUtils.getCurrentUserId()) + .input_optname(SecurityUtils.getCurrentNickName()) + .input_time(DateUtil.now()) + .build(); + + updateMst(mstDao, whereJson); + + this.save(mstDao); + + // 组织插入明细、分配的数据 + JSONArray tableData = whereJson.getJSONArray("tableData"); + + ArrayList dtlList = new ArrayList<>(); + for (int i = 0; i < tableData.size(); i++) { + JSONObject json = tableData.getJSONObject(i); + + JSONObject dtl = new JSONObject(); + dtl.put("material_code",json.getString("material_code")); + dtl.put("pcsn",json.getString("pcsn")); + dtl.put("plan_qty",json.getString("plan_qty")); + dtl.put("box_no",json.getString("box_no")); + dtlList.add(dtl); + } + + // 插入明细 + iStIvtIostorinvdtlService.insertDtl(mstDao.getIostorinv_id(), dtlList); + + } + + @Override + @Transactional + public void update(JSONObject whereJson) { + StIvtIostorinv mstDao = this.getById(whereJson.getString("iostorinv_id")); + + // 组织主表数据 + updateMst(mstDao, whereJson); + + mstDao.setUpdate_optid(SecurityUtils.getCurrentUserId()); + mstDao.setUpdate_optname(SecurityUtils.getCurrentNickName()); + mstDao.setUpdate_time(DateUtil.now()); + this.updateById(mstDao); + + // 组织插入明细、分配的数据 + JSONArray tableData = whereJson.getJSONArray("tableData"); + + ArrayList dtlList = new ArrayList<>(); + for (int i = 0; i < tableData.size(); i++) { + JSONObject json = tableData.getJSONObject(i); + + JSONObject dtl = new JSONObject(); + dtl.put("material_code",json.getString("material_code")); + dtl.put("pcsn",json.getString("pcsn")); + dtl.put("plan_qty",json.getString("plan_qty")); + dtl.put("box_no",json.getString("box_no")); + dtlList.add(dtl); + } + + // 插入明细 + iStIvtIostorinvdtlService.insertDtl(mstDao.getIostorinv_id(), dtlList); + } + + @Override + @Transactional + public void delete(Long[] ids) { + for (Long id : ids) { + this.update( + new UpdateWrapper().lambda() + .set(StIvtIostorinv::getIs_delete, IOSEnum.IS_NOTANDYES.code("是")) + .eq(StIvtIostorinv::getIostorinv_id, id) + ); + } + } + + @Override + public JSONArray getIosDtl(JSONObject whereJson) { + return iStIvtIostorinvdtlService.getIosDtl(whereJson); + } + + @Override + public JSONArray getIosDis(JSONObject whereJson) { + return iStIvtIostorinvdisService.getIosDis(whereJson); + } + + @Override + @Transactional + public void moneySubmit(JSONObject whereJson) { + // JSONObject转实体类 + StIvtIostorinv mstDao = BeanUtil.copyProperties(whereJson,StIvtIostorinv.class); + + mstDao.setUpdate_optid(SecurityUtils.getCurrentUserId()); + mstDao.setUpdate_optname(SecurityUtils.getCurrentNickName()); + mstDao.setUpdate_time(DateUtil.now()); + this.updateById(mstDao); + } + + @Override + @Transactional + public void allDiv(JSONObject whereJson) { + // 查出未分配的明细 + List dtlDaoList = new ArrayList<>(); + + // 判断是全部分配还是分配一条 + if (ObjectUtil.isEmpty(whereJson.getString("iostorinvdtl_id"))) { + dtlDaoList = iStIvtIostorinvdtlService.list( + new QueryWrapper().lambda() + .eq(StIvtIostorinvdtl::getIostorinv_id, whereJson.getString("iostorinv_id")) + .in(StIvtIostorinvdtl::getBill_status, IOSEnum.BILL_STATUS.code("生成"), IOSEnum.BILL_STATUS.code("分配中")) + ); + } else { + dtlDaoList = iStIvtIostorinvdtlService.list( + new QueryWrapper().lambda() + .eq(StIvtIostorinvdtl::getIostorinv_id, whereJson.getString("iostorinv_id")) + .eq(StIvtIostorinvdtl::getIostorinvdtl_id, whereJson.getString("iostorinvdtl_id")) + .in(StIvtIostorinvdtl::getBill_status, IOSEnum.BILL_STATUS.code("生成"), IOSEnum.BILL_STATUS.code("分配中")) + ); + } + + if (ObjectUtil.isEmpty(dtlDaoList)) throw new BadRequestException("没有需要分配的明细!"); + + List ivtList = iosOutRuleService.getCancelIvt(whereJson); // 库存集合 + + List disList = new ArrayList<>(); // 需插入分配明细集合 + + for (int i = 0; i < dtlDaoList.size(); i++) { + StIvtIostorinvdtl dtlDao = dtlDaoList.get(i); + + // 判断是否有批次 + if (ObjectUtil.isNotEmpty(dtlDao.getPcsn())) { + // 根据批次找到对应库存 + List ivtDaoList = ivtList.stream() + .filter(row -> row.getString("pcsn").equals(dtlDao.getPcsn())) + .collect(Collectors.toList()); + + if (ObjectUtil.isEmpty(ivtDaoList)) + throw new BadRequestException("批次:"+dtlDao.getPcsn()+"无可用库存!"); + + JSONObject jsonDisParam = ivtDaoList.get(0); + jsonDisParam.put("iostorinvdtl_id",dtlDao.getIostorinvdtl_id()); + jsonDisParam.put("iostorinv_id",dtlDao.getIostorinv_id()); + disList.add(updateDis(jsonDisParam)); + + // 更新明细 + dtlDao.setBill_status(IOSEnum.BILL_STATUS.code("分配完")); + dtlDao.setAssign_qty(dtlDao.getUnassign_qty()); + dtlDao.setUnassign_qty(BigDecimal.valueOf(0)); + } else { + // 无批次:根据物料和销售订单找库存 + double unassign_qty = dtlDao.getUnassign_qty().doubleValue();// 未分配重量 + double assign_qty = 0.00; // 已分配重量 + + // 符合条件的集合 + List ivtDaoList = ivtList.stream() + .filter(row -> row.getString("material_id").equals(dtlDao.getMaterial_id()) + && row.getString("sale_order_name").equals(dtlDao.getSource_bill_code()) + ) + .collect(Collectors.toList()); + + if (ObjectUtil.isEmpty(ivtDaoList)) + throw new BadRequestException("销售订单:"+dtlDao.getSource_bill_code()+"无可用库存!"); + + while (unassign_qty > 0) { + + if (ivtDaoList.size() == 0) + throw new BadRequestException("销售订单:"+dtlDao.getSource_bill_code()+"库存不足!"); + + // 找出相同箱号的子卷 + JSONObject jsonDis = ivtDaoList.get(0); + List boxList = ivtDaoList.stream() + .filter(row -> row.getString("box_no").equals(jsonDis.getString("box_no"))) + .collect(Collectors.toList()); + + boxList.forEach(row -> { + ivtDaoList.remove(row); + + row.put("iostorinvdtl_id",dtlDao.getIostorinvdtl_id()); + row.put("iostorinv_id",dtlDao.getIostorinv_id()); + disList.add(updateDis(row)); + }); + + // 减去未分配重量 + double qty = boxList.stream() + .map(row -> row.getDoubleValue("plan_qty")) + .reduce(Double::sum) + .orElse(0.00); + + unassign_qty = NumberUtil.sub(unassign_qty, qty); + + // 增加已分配重量 + assign_qty = NumberUtil.add(assign_qty,qty); + } + + // 更新明细 + dtlDao.setBill_status(IOSEnum.BILL_STATUS.code("分配完")); + dtlDao.setAssign_qty(BigDecimal.valueOf(assign_qty)); + dtlDao.setUnassign_qty(BigDecimal.valueOf(0)); + } + } + + // 插入分配明细 + iStIvtIostorinvdisService.insetDis(disList); + + // 锁住点位 + String pointCode_in = disList.stream() + .map(row -> row.getString("point_code")) + .distinct() + .collect(Collectors.joining("','")); + + List pointDaoList = iSchBasePointService.list( + new QueryWrapper().lambda() + .in(SchBasePoint::getPoint_code, "('" + pointCode_in + "')") + ); + + iSchBasePointService.lockPoint(pointDaoList,IOSEnum.LOCK_TYPE.code("出库锁")); + + // 更新明细状态 + iStIvtIostorinvdtlService.updateBatchById(dtlDaoList); + + // 更新主表状态 + this.update( + new UpdateWrapper().lambda() + .set(StIvtIostorinv::getUpdate_optid,SecurityUtils.getCurrentUserId()) + .set(StIvtIostorinv::getUpdate_optname,SecurityUtils.getCurrentNickName()) + .set(StIvtIostorinv::getUpdate_time,DateUtil.now()) + .set(StIvtIostorinv::getDis_optid, SecurityUtils.getCurrentUserId()) + .set(StIvtIostorinv::getDis_optname,SecurityUtils.getCurrentNickName()) + .set(StIvtIostorinv::getDis_time,DateUtil.now()) + .eq(StIvtIostorinv::getIostorinv_id, whereJson.getString("iostorinv_id")) + ); + + updateMstStatus(whereJson.getString("iostorinv_id")); + } + + @Override + @Transactional + public void allCancel(JSONObject whereJson) { + // 查出已分配的明细 + List dtlDaoList = new ArrayList<>(); + + // 判断是全部取消还是取消一条 + if (ObjectUtil.isEmpty(whereJson.getString("iostorinvdtl_id"))) { + dtlDaoList = iStIvtIostorinvdtlService.list( + new QueryWrapper().lambda() + .eq(StIvtIostorinvdtl::getIostorinv_id, whereJson.getString("iostorinv_id")) + .in(StIvtIostorinvdtl::getBill_status, IOSEnum.BILL_STATUS.code("分配完"), IOSEnum.BILL_STATUS.code("分配中")) + ); + } else { + dtlDaoList = iStIvtIostorinvdtlService.list( + new QueryWrapper().lambda() + .eq(StIvtIostorinvdtl::getIostorinv_id, whereJson.getString("iostorinv_id")) + .eq(StIvtIostorinvdtl::getIostorinvdtl_id, whereJson.getString("iostorinvdtl_id")) + .in(StIvtIostorinvdtl::getBill_status, IOSEnum.BILL_STATUS.code("分配完"), IOSEnum.BILL_STATUS.code("分配中")) + ); + } + + // 查询出所有分配明细 + String id_in = dtlDaoList.stream() + .map(StIvtIostorinvdtl::getIostorinvdtl_id) + .collect(Collectors.joining("','")); + + List disDaoList = iStIvtIostorinvdisService.list( + new QueryWrapper().lambda() + .in(StIvtIostorinvdis::getIostorinvdtl_id, "('" + id_in + "')") + ); + + // 判断是否有任务存在 + boolean is_task = disDaoList.stream() + .anyMatch(row -> ObjectUtil.isNotEmpty(row.getTask_id())); + + if (is_task) throw new BadRequestException("已生成任务不可取消分配!"); + + // 解锁点位 + String pointCode_in = disDaoList.stream() + .map(StIvtIostorinvdis::getStruct_code) + .distinct() + .collect(Collectors.joining("','")); + + List pointDaoList = iSchBasePointService.list( + new QueryWrapper().lambda() + .in(SchBasePoint::getPoint_code, "('" + pointCode_in + "')") + ); + iSchBasePointService.lockPoint(pointDaoList,IOSEnum.LOCK_TYPE.code("未锁定")); + + // 删除分配明细 + iStIvtIostorinvdisService.remove( + new QueryWrapper().lambda() + .in(StIvtIostorinvdis::getIostorinvdtl_id, "('" + id_in + "')") + ); + + // 更新明细状态、数量 + dtlDaoList.forEach(row -> { + row.setUnassign_qty(row.getPlan_qty()); + row.setAssign_qty(BigDecimal.valueOf(0)); + row.setBill_status(IOSEnum.BILL_STATUS.code("生成")); + }); + + iStIvtIostorinvdtlService.updateBatchById(dtlDaoList); + + // 更新主表状态 + updateMstStatus(whereJson.getString("iostorinv_id")); + + } + + @Override + @Transactional + public void allSetPoint(JSONObject whereJson) { + // 判断主表状态是否为分配完 + StIvtIostorinv mstDao = this.getById(whereJson.getString("iostorinv_id")); + + if (!mstDao.getBill_status().equals(IOSEnum.BILL_STATUS.code("分配完"))) + throw new BadRequestException("状态不为分配完!"); + + // 查询所有分配明细:分配状态为未生成 + List disDaoList = iStIvtIostorinvdisService.list( + new QueryWrapper().lambda() + .eq(StIvtIostorinvdis::getWork_status, IOSEnum.WORK_STATUS.code("未生成")) + .eq(StIvtIostorinvdis::getIostorinv_id, whereJson.getString("iostorinv_id")) + ); + + // 生成任务 + + // 下发任务 + + // 更新分配明细 + disDaoList.forEach(row -> { + row.setTask_id(""); + row.setWork_status(IOSEnum.WORK_STATUS.code("生成")); + }); + iStIvtIostorinvdisService.updateBatchById(disDaoList); + } + + @Override + public JSONArray getIosDisTask(JSONObject whereJson) { + return iStIvtIostorinvdisService.getIosDisTask(whereJson); + } + + @Override + @Transactional + public void issueTask(JSONObject whereJson) { + + } + + @Override + @Transactional + public void confirmTask(JSONObject whereJson) { + // 更新任务为完成 + iSchBaseTaskService.update( + new UpdateWrapper().lambda() + .set(SchBaseTask::getTask_status, "07") + .eq(SchBaseTask::getTask_id, whereJson.getString("task_id")) + ); + + // 更新分配明细状态 + iStIvtIostorinvdisService.update( + new UpdateWrapper().lambda() + .set(StIvtIostorinvdis::getWork_status, IOSEnum.WORK_STATUS.code("完成")) + .eq(StIvtIostorinvdis::getTask_id, whereJson.getString("task_id")) + ); + + // 更新明细状态 + updateDtlStatus(whereJson.getString("iostorinvdtl_id")); + } + + @Override + @Transactional + public void confirm(JSONObject whereJson) { + StIvtIostorinv mstDao = this.getById(whereJson.getString("iostorinv_id")); + + // 调用方法 + updateIvt(mstDao.getIostorinv_id()); + } + + /** + * 组织主表数据 + * @param mstDao / + * @param whereJson / + */ + private void updateMst(StIvtIostorinv mstDao, JSONObject whereJson) { + mstDao.setBuss_type(whereJson.getString("bill_type")); + mstDao.setBill_type(whereJson.getString("bill_type")); + mstDao.setBiz_date(whereJson.getString("biz_date").substring(0,10)); + mstDao.setStor_id(whereJson.getString("stor_id")); + mstDao.setStor_code(whereJson.getString("stor_code")); + mstDao.setStor_name(whereJson.getString("stor_name")); + mstDao.setSource_id(whereJson.getString("source_id")); + mstDao.setSource_name(whereJson.getString("source_name")); + mstDao.setSource_type(whereJson.getString("source_type")); + mstDao.setTotal_qty(whereJson.getBigDecimal("total_qty")); + mstDao.setDetail_count(whereJson.getBigDecimal("detail_count")); + mstDao.setRemark(whereJson.getString("remark")); + mstDao.setSyscompanyid("1"); + mstDao.setSysdeptid("1"); + mstDao.setIs_delete(false); + mstDao.setIs_upload(false); + mstDao.setIs_writeoff(false); + mstDao.setUpload_mes(false); + mstDao.setUpload_sap(false); + } + + /** + * 组织分配明细 + * @param jsonDisParam / + * @return JSONObject + */ + private JSONObject updateDis(JSONObject jsonDisParam) { + JSONObject result = new JSONObject(); + result.put("iostorinv_id", jsonDisParam.getString("iostorinv_id")); + result.put("iostorinvdtl_id", jsonDisParam.getString("iostorinvdtl_id")); + result.put("sect_id", jsonDisParam.getString("sect_id")); + result.put("sect_code", jsonDisParam.getString("sect_code")); + result.put("sect_name", jsonDisParam.getString("sect_name")); + result.put("struct_id", jsonDisParam.getString("struct_id")); + result.put("struct_code", jsonDisParam.getString("struct_code")); + result.put("struct_name", jsonDisParam.getString("struct_name")); + result.put("material_id", jsonDisParam.getString("material_id")); + result.put("pcsn", jsonDisParam.getString("pcsn")); + result.put("quality_scode", jsonDisParam.getString("quality_scode")); + result.put("storagevehicle_id", jsonDisParam.getString("storagevehicle_id")); + result.put("storagevehicle_code", jsonDisParam.getString("storagevehicle_code")); + result.put("qty_unit_id", jsonDisParam.getString("qty_unit_id")); + result.put("qty_unit_name", jsonDisParam.getString("qty_unit_name")); + result.put("plan_qty", jsonDisParam.getString("plan_qty")); + result.put("real_qty", jsonDisParam.getString("real_qty")); + result.put("box_no", jsonDisParam.getString("box_no")); + return result; + } + + /** + * 更新主表状态 + * @param iostorinv_id 、 + */ + private void updateMstStatus(String iostorinv_id) { + StIvtIostorinv mstDao = this.getById(iostorinv_id); + + // 查询所有明细是否都为完成、分配中、分配完 + List dtlDaoList = iStIvtIostorinvdtlService.list( + new QueryWrapper().lambda() + .eq(StIvtIostorinvdtl::getIostorinv_id, iostorinv_id) + ); + + boolean is_confirm = dtlDaoList.stream() + .allMatch(row -> row.getBill_status().equals(IOSEnum.BILL_STATUS.code("完成"))); + + boolean is_div = dtlDaoList.stream() + .allMatch(row -> row.getBill_status().equals(IOSEnum.BILL_STATUS.code("分配完")) + || row.getBill_status().equals(IOSEnum.BILL_STATUS.code("分配完")) + ); + + boolean is_create = dtlDaoList.stream() + .allMatch(row -> row.getBill_status().equals(IOSEnum.BILL_STATUS.code("生成"))); + + if (is_confirm) { + // 都为完成 + mstDao.setBill_status(IOSEnum.BILL_STATUS.code("完成")); + } else { + if (is_div) { + mstDao.setBill_status(IOSEnum.BILL_STATUS.code("分配完")); + } else { + mstDao.setBill_status(IOSEnum.BILL_STATUS.code("分配中")); + } + } + + if (is_create) { + mstDao.setBill_status(IOSEnum.BILL_STATUS.code("生成")); + } + + this.updateById(mstDao); + + if (is_confirm) updateIvt(mstDao.getIostorinv_id()); + } + + /** + * 更新明细状态 + * @param iostorinvdtl_id 、 + */ + private void updateDtlStatus(String iostorinvdtl_id) { + + StIvtIostorinvdtl dtlDao = iStIvtIostorinvdtlService.getById(iostorinvdtl_id); + + // 查询所有分配明细是否都为完成 + List disDao = iStIvtIostorinvdisService.list( + new QueryWrapper().lambda() + .eq(StIvtIostorinvdis::getIostorinvdtl_id, iostorinvdtl_id) + ); + + // 判断是否都为完成 + boolean is_confirm = disDao.stream() + .allMatch(row -> row.getWork_status().equals(IOSEnum.WORK_STATUS.code("完成"))); + + if (is_confirm) { + // 更新明细为完成 + dtlDao.setBill_status(IOSEnum.BILL_STATUS.code("完成")); + iStIvtIostorinvdtlService.updateById(dtlDao); + + updateMstStatus(dtlDao.getIostorinv_id()); + } + } + + /** + * 更新库存 + * @param iostorinv_id 、 + */ + private void updateIvt(String iostorinv_id) { + // 更新主表状态为完成 + StIvtIostorinv mstDao = this.getById(iostorinv_id); + mstDao.setBill_status(IOSEnum.BILL_STATUS.code("完成")); + mstDao.setConfirm_optid(SecurityUtils.getCurrentUserId()); + mstDao.setConfirm_optname(SecurityUtils.getCurrentNickName()); + mstDao.setConfirm_time(DateUtil.now()); + this.updateById(mstDao); + + // 更新库存 + } +} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvServiceImpl.java index e394e23..6f3f631 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvServiceImpl.java @@ -449,7 +449,9 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl row.getBill_status().equals(IOSEnum.BILL_STATUS.code("完成"))); boolean is_div = dtlDaoList.stream() - .allMatch(row -> row.getBill_status().equals(IOSEnum.BILL_STATUS.code("分配完"))); + .allMatch(row -> row.getBill_status().equals(IOSEnum.BILL_STATUS.code("分配完")) + || row.getBill_status().equals(IOSEnum.BILL_STATUS.code("分配完")) + ); boolean is_create = dtlDaoList.stream() .allMatch(row -> row.getBill_status().equals(IOSEnum.BILL_STATUS.code("生成"))); diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvdisServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvdisServiceImpl.java index d14833e..0881d21 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvdisServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvdisServiceImpl.java @@ -53,7 +53,7 @@ public class StIvtIostorinvdisServiceImpl extends ServiceImpl + * 出库分配规则 服务类 + *

+ * + * @author generator + * @since 2023-11-10 + */ +public interface IosOutRuleService { + + /** + * 根据仓库、库区找到可用库存 + * @param param + * { + * sect_id: 区域, + * stor_id: 仓库, + * } + * @return List :库存集合 + */ + List getCancelIvt(JSONObject param); + +} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/storage_manage/ios/util/impl/IosOutRuleServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/storage_manage/ios/util/impl/IosOutRuleServiceImpl.java new file mode 100644 index 0000000..9118952 --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/storage_manage/ios/util/impl/IosOutRuleServiceImpl.java @@ -0,0 +1,30 @@ +package org.nl.wms.storage_manage.ios.util.impl; + +import com.alibaba.fastjson.JSONObject; +import org.nl.wms.sch.point.service.dao.SchBasePoint; +import org.nl.wms.storage_manage.ios.util.IosInRuleService; +import org.nl.wms.storage_manage.ios.util.IosOutRuleService; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.List; + +/** + *

+ * 出库分配规则 服务实现类 + *

+ * + * @author generator + * @since 2023-11-16 + */ +@Service +public class IosOutRuleServiceImpl implements IosOutRuleService { + + @Override + @Transactional + public List getCancelIvt(JSONObject param) { + List list = new ArrayList<>(); + return list; + } +} diff --git a/lms/nladmin-ui/src/views/wms/storage_manage/ios/outbill/AddDialog.vue b/lms/nladmin-ui/src/views/wms/storage_manage/ios/outbill/AddDialog.vue new file mode 100644 index 0000000..27d2018 --- /dev/null +++ b/lms/nladmin-ui/src/views/wms/storage_manage/ios/outbill/AddDialog.vue @@ -0,0 +1,355 @@ + + + + + diff --git a/lms/nladmin-ui/src/views/wms/storage_manage/ios/outbill/AddDtl.vue b/lms/nladmin-ui/src/views/wms/storage_manage/ios/outbill/AddDtl.vue new file mode 100644 index 0000000..5e9acb4 --- /dev/null +++ b/lms/nladmin-ui/src/views/wms/storage_manage/ios/outbill/AddDtl.vue @@ -0,0 +1,226 @@ + + + + diff --git a/lms/nladmin-ui/src/views/wms/storage_manage/ios/outbill/DivDialog.vue b/lms/nladmin-ui/src/views/wms/storage_manage/ios/outbill/DivDialog.vue new file mode 100644 index 0000000..b773c4b --- /dev/null +++ b/lms/nladmin-ui/src/views/wms/storage_manage/ios/outbill/DivDialog.vue @@ -0,0 +1,547 @@ + + + + + diff --git a/lms/nladmin-ui/src/views/wms/storage_manage/ios/outbill/MoneyDialog.vue b/lms/nladmin-ui/src/views/wms/storage_manage/ios/outbill/MoneyDialog.vue new file mode 100644 index 0000000..a95787d --- /dev/null +++ b/lms/nladmin-ui/src/views/wms/storage_manage/ios/outbill/MoneyDialog.vue @@ -0,0 +1,274 @@ + + + + + diff --git a/lms/nladmin-ui/src/views/wms/storage_manage/ios/outbill/StructIvt.vue b/lms/nladmin-ui/src/views/wms/storage_manage/ios/outbill/StructIvt.vue new file mode 100644 index 0000000..01d03a7 --- /dev/null +++ b/lms/nladmin-ui/src/views/wms/storage_manage/ios/outbill/StructIvt.vue @@ -0,0 +1,239 @@ + + + diff --git a/lms/nladmin-ui/src/views/wms/storage_manage/ios/outbill/TaskDialog.vue b/lms/nladmin-ui/src/views/wms/storage_manage/ios/outbill/TaskDialog.vue new file mode 100644 index 0000000..5d60588 --- /dev/null +++ b/lms/nladmin-ui/src/views/wms/storage_manage/ios/outbill/TaskDialog.vue @@ -0,0 +1,302 @@ + + + + + diff --git a/lms/nladmin-ui/src/views/wms/storage_manage/ios/outbill/ViewDialog.vue b/lms/nladmin-ui/src/views/wms/storage_manage/ios/outbill/ViewDialog.vue new file mode 100644 index 0000000..8df8b20 --- /dev/null +++ b/lms/nladmin-ui/src/views/wms/storage_manage/ios/outbill/ViewDialog.vue @@ -0,0 +1,288 @@ + + + + + diff --git a/lms/nladmin-ui/src/views/wms/storage_manage/ios/outbill/index.vue b/lms/nladmin-ui/src/views/wms/storage_manage/ios/outbill/index.vue new file mode 100644 index 0000000..a539ecf --- /dev/null +++ b/lms/nladmin-ui/src/views/wms/storage_manage/ios/outbill/index.vue @@ -0,0 +1,458 @@ + + + + diff --git a/lms/nladmin-ui/src/views/wms/storage_manage/ios/outbill/outbill.js b/lms/nladmin-ui/src/views/wms/storage_manage/ios/outbill/outbill.js new file mode 100644 index 0000000..7feb254 --- /dev/null +++ b/lms/nladmin-ui/src/views/wms/storage_manage/ios/outbill/outbill.js @@ -0,0 +1,116 @@ +import request from '@/utils/request' + +export function add(data) { + return request({ + url: 'api/stIvtIostorinv/outBill', + method: 'post', + data + }) +} + +export function del(ids) { + return request({ + url: 'api/stIvtIostorinv/outBill/', + method: 'delete', + data: ids + }) +} + +export function edit(data) { + return request({ + url: 'api/stIvtIostorinv/outBill', + method: 'put', + data + }) +} + +export function queryBoxMater(data) { + return request({ + url: 'api/stIvtIostorinv/outBill/queryBoxMater', + method: 'post', + data + }) +} + +export function getIosDtl(data) { + return request({ + url: 'api/stIvtIostorinv/outBill/getIosDtl', + method: 'post', + data + }) +} + +export function getIosDis(data) { + return request({ + url: 'api/stIvtIostorinv/outBill/getIosDis', + method: 'post', + data + }) +} + +export function moneySubmit(data) { + return request({ + url: 'api/stIvtIostorinv/outBill/moneySubmit', + method: 'post', + data + }) +} + +export function allDiv(data) { + return request({ + url: 'api/stIvtIostorinv/outBill/allDiv', + method: 'post', + data + }) +} + +export function allCancel(data) { + return request({ + url: 'api/stIvtIostorinv/outBill/allCancel', + method: 'post', + data + }) +} + +export function allSetPoint(data) { + return request({ + url: 'api/stIvtIostorinv/outBill/allSetPoint', + method: 'post', + data + }) +} + +export function getIosDisTask(data) { + return request({ + url: 'api/stIvtIostorinv/outBill/getIosDisTask', + method: 'post', + data + }) +} + +export function issueTask(data) { + return request({ + url: 'api/stIvtIostorinv/outBill/issueTask', + method: 'post', + data + }) +} + +export function confirmTask(data) { + return request({ + url: 'api/stIvtIostorinv/outBill/confirmTask', + method: 'post', + data + }) +} + +export function confirm(data) { + return request({ + url: 'api/stIvtIostorinv/outBill/confirm', + method: 'post', + data + }) +} + +export default { add, edit, del, queryBoxMater, getIosDtl, getIosDis, moneySubmit, allDiv, allCancel, + allSetPoint, getIosDisTask, issueTask, confirmTask, confirm }