diff --git a/api-admin/src/main/java/com/glxp/api/admin/constant/ConstantStatus.java b/api-admin/src/main/java/com/glxp/api/admin/constant/ConstantStatus.java index 79e4c9ab..abf1880a 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/constant/ConstantStatus.java +++ b/api-admin/src/main/java/com/glxp/api/admin/constant/ConstantStatus.java @@ -65,6 +65,11 @@ public class ConstantStatus { public static final int SORDER_FROM_ONLINE = 2; //在线实时拉取第三方业务单据 public static final int SORDER_FROM_CACHE = 0; //本地缓存第三方业务单据 public static final int SORDER_FROM_LOCAL = 1; //本地生成业务单据 + + //往来信息类型-单据 + public static final int CORP_TYPE_INPUT = 2; //病人 + public static final int CORP_TYPE_OUT = 0; //供应商 + public static final int CORP_TYPE_INNOR = 1; //内部科室等 //往来单位类型 @@ -86,6 +91,7 @@ public class ConstantStatus { public static final int FROM_PC = 5; //pc端扫码精灵 public static final int FROM_CHANGE = 6; //单据流转 public static final int FROM_UDISP = 7; //供应商平台 + public static final int FROM_PEACE_CHANGE = 8; //平衡补单 //业务单据详情,DI绑定供应商状态 @@ -101,5 +107,10 @@ public class ConstantStatus { public static final int DITYPE_PACK = 4; //包装标识 // - + //流转单据类型 + public static final int ORDER_CHANGE_NORMAL_IN = 1; //补采购入库 + public static final int ORDER_CHANGE_NORMAL_ADV_IN = 2; //补寄售转入 + public static final int ORDER_CHANGE_ADVANCE_IN = 3; //补寄售入库 + public static final int ORDER_CHANGE_ADVANCE_OUT = 4; //补寄售出库 + public static final int ORDER_CHANGE_INNOR_NORMAL_IN = 5; //补调拨入库 } diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/auth/AuthAdminController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/auth/AuthAdminController.java index 4d771c16..4d28ba65 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/auth/AuthAdminController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/auth/AuthAdminController.java @@ -230,5 +230,16 @@ public class AuthAdminController { return ResultVOUtils.success(); } + /** + * 获取医院用户列表 + * + * @return + */ + @AuthRuleAnnotation("") + @GetMapping("/admin/auth/admin/hospitalUserList") + public BaseResponse getHospitalUserList() { + return ResultVOUtils.success(authAdminService.getHospitalUserList()); + } + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessChangeTypeController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessChangeTypeController.java index fef6e7d8..c5814288 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessChangeTypeController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessChangeTypeController.java @@ -1,5 +1,7 @@ package com.glxp.api.admin.controller.basic; +import com.glxp.api.admin.annotation.AuthRuleAnnotation; +import com.glxp.api.admin.constant.ConstantStatus; import com.glxp.api.admin.constant.ConstantType; import com.glxp.api.admin.entity.basic.BussinessChangeTypeEntity; import com.glxp.api.admin.entity.basic.BussinessLocalTypeEntity; @@ -41,7 +43,7 @@ public class BussinessChangeTypeController { List bussinessTypeEntities; BussinessLocalTypeEntity bussinessLocalTypeEntity = bussinessLocalTypeService.findBTByAction(bussinessTypeFilterRequest.getAction()); if (bussinessLocalTypeEntity == null) { - return ResultVOUtils.error(500, "业务单据类型错误"); + return ResultVOUtils.error(499, "该业务类型未绑定扫码单据类型!"); } BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(bussinessLocalTypeEntity.getAction()); bussinessTypeEntities = bussinessChangeTypeService.findByAction(bussinessTypeFilterRequest.getAction()); @@ -51,20 +53,61 @@ public class BussinessChangeTypeController { if (bussinessTypeFilterRequest.getType() != null && "changeEnable".equals(bussinessTypeFilterRequest.getType()) ) { - if (ConstantType.TYPE_OUT.equals(bussinessTypeEntity.getMainAction())) { - +// if (ConstantType.TYPE_PUT.equals(bussinessTypeEntity.getMainAction()) && !bussinessTypeEntity.isAdvanceType()) { +// BussinessChangeTypeEntity bussinessChangeTypeEntity1 = new BussinessChangeTypeEntity(); +// bussinessChangeTypeEntity1.setIntro("入库自动补\"寄售出库单\""); +// bussinessChangeTypeEntity1.setChangeType(ConstantStatus.ORDER_CHANGE_ADVANCE_OUT); +// bussinessChangeTypeEntity1.setIndex(1); +// bussinessChangeTypeEntity1.setAction(bussinessTypeFilterRequest.getAction()); +// bussinessChangeTypeService.insertBusChangeTypee(bussinessChangeTypeEntity1); +// bussinessTypeEntities = bussinessChangeTypeService.findByAction(bussinessTypeFilterRequest.getAction()); +// } else + if (ConstantType.TYPE_OUT.equals(bussinessTypeEntity.getMainAction()) && !bussinessTypeEntity.isAdvanceType()) { + BussinessChangeTypeEntity bussinessChangeTypeEntity1 = new BussinessChangeTypeEntity(); + bussinessChangeTypeEntity1.setIntro("出库自动补\"供应商入库单\""); + bussinessChangeTypeEntity1.setChangeType(ConstantStatus.ORDER_CHANGE_NORMAL_IN); + bussinessChangeTypeEntity1.setIndex(1); + bussinessChangeTypeEntity1.setAction(bussinessTypeFilterRequest.getAction()); + bussinessChangeTypeService.insertBusChangeTypee(bussinessChangeTypeEntity1); + BussinessChangeTypeEntity bussinessChangeTypeEntity2 = new BussinessChangeTypeEntity(); + bussinessChangeTypeEntity2.setIntro("出库自动补\"调拨入库单\""); + bussinessChangeTypeEntity2.setChangeType(ConstantStatus.ORDER_CHANGE_NORMAL_IN); + bussinessChangeTypeEntity2.setIndex(1); + bussinessChangeTypeEntity2.setAction(bussinessTypeFilterRequest.getAction()); + bussinessChangeTypeService.insertBusChangeTypee(bussinessChangeTypeEntity2); + BussinessChangeTypeEntity bussinessChangeTypeEntity3 = new BussinessChangeTypeEntity(); + bussinessChangeTypeEntity3.setIntro("出库自动补\"寄售转入单\""); + bussinessChangeTypeEntity3.setChangeType(ConstantStatus.ORDER_CHANGE_NORMAL_ADV_IN); + bussinessChangeTypeEntity3.setIndex(2); + bussinessChangeTypeEntity3.setAction(bussinessTypeFilterRequest.getAction()); + bussinessChangeTypeService.insertBusChangeTypee(bussinessChangeTypeEntity3); bussinessTypeEntities = bussinessChangeTypeService.findByAction(bussinessTypeFilterRequest.getAction()); + } else if (ConstantType.TYPE_OUT.equals(bussinessTypeEntity.getMainAction()) && bussinessTypeEntity.isAdvanceType()) { BussinessChangeTypeEntity bussinessChangeTypeEntity1 = new BussinessChangeTypeEntity(); - bussinessChangeTypeEntity1.setIntro("出库自动补\"采购入库单\""); + bussinessChangeTypeEntity1.setIntro("出库自动补\"寄售入库单\""); + bussinessChangeTypeEntity1.setChangeType(ConstantStatus.ORDER_CHANGE_ADVANCE_IN); bussinessChangeTypeEntity1.setIndex(1); bussinessChangeTypeEntity1.setAction(bussinessTypeFilterRequest.getAction()); bussinessChangeTypeService.insertBusChangeTypee(bussinessChangeTypeEntity1); + bussinessTypeEntities = bussinessChangeTypeService.findByAction(bussinessTypeFilterRequest.getAction()); } } } return ResultVOUtils.success(bussinessTypeEntities); } + @AuthRuleAnnotation("") + @PostMapping("/spms/bussinessChangeType/remove") + public BaseResponse removeBussinessType(@RequestBody BussinessChangeTypeEntity deleteRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + String action = deleteRequest.getScAction(); + bussinessChangeTypeService.deleteByAction(action); + return ResultVOUtils.success("删除成功"); + } + @PostMapping("/spms/bussinessChangeType/delete") public BaseResponse deleteBussinessType(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) { diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessLocalTypeController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessLocalTypeController.java index 180277bb..7ffcd519 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessLocalTypeController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessLocalTypeController.java @@ -1,9 +1,14 @@ package com.glxp.api.admin.controller.basic; +import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageInfo; +import com.glxp.api.admin.annotation.AuthRuleAnnotation; +import com.glxp.api.admin.constant.Constant; import com.glxp.api.admin.entity.basic.BussinessChangeTypeEntity; import com.glxp.api.admin.entity.basic.BussinessLocalTypeEntity; +import com.glxp.api.admin.entity.basic.BussinessTypeEntity; import com.glxp.api.admin.entity.business.StockOrderEntity; +import com.glxp.api.admin.req.basic.BusNoUserRequest; import com.glxp.api.admin.req.basic.BussinessLocalTypeFilterRequest; import com.glxp.api.admin.req.business.StockOrderFilterRequest; import com.glxp.api.admin.req.inout.DeleteRequest; @@ -24,6 +29,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; @RestController @@ -58,6 +64,42 @@ public class BussinessLocalTypeController { return ResultVOUtils.success(pageSimpleResponse); } + + @AuthRuleAnnotation("") + @GetMapping("/udiwms/localBusType/filterJoinByUser") + public BaseResponse filterJoinByUser(BussinessLocalTypeFilterRequest bussinessTypeFilterRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + + List bussinessTypeEntities; + bussinessTypeEntities = bussinessLocalTypeService.filterJoinByUser( + bussinessTypeFilterRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(bussinessTypeEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(bussinessTypeEntities); + return ResultVOUtils.success(pageSimpleResponse); + } + + + @AuthRuleAnnotation("") + @GetMapping("/udiwms/localBusType/filterByBus") + public BaseResponse filterByBus(BussinessLocalTypeFilterRequest bussinessTypeFilterRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(bussinessTypeFilterRequest.getAction()); + return ResultVOUtils.success(bussinessTypeEntity.getLocalAction()); + } + + + @GetMapping("/udiwms/localBusType/filter") public BaseResponse filterBussinessType(BussinessLocalTypeFilterRequest bussinessTypeFilterRequest, BindingResult bindingResult) { @@ -66,13 +108,7 @@ public class BussinessLocalTypeController { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } List bussinessTypeEntities = null; -// if (bussinessTypeFilterRequest.getIsFilterBind()) { -// bussinessTypeEntities = bussinessLocalTypeService.filterUnBind(bussinessTypeFilterRequest); -// } else { bussinessTypeEntities = bussinessLocalTypeService.filterList(bussinessTypeFilterRequest); -// } - - PageInfo pageInfo; pageInfo = new PageInfo<>(bussinessTypeEntities); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); @@ -81,6 +117,30 @@ public class BussinessLocalTypeController { return ResultVOUtils.success(pageSimpleResponse); } + @AuthRuleAnnotation("") + @GetMapping("/udiwms/localBusType/filterUnUse") + public BaseResponse filterUnUse(BusNoUserRequest busNoUserRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + BussinessLocalTypeFilterRequest bussinessTypeFilterRequest = new BussinessLocalTypeFilterRequest(); + bussinessTypeFilterRequest.setEnabled(true); + + List bussinessTypeEntities; + List returnDatas = new ArrayList<>(); + bussinessTypeEntities = bussinessLocalTypeService.filterLeftJoin(bussinessTypeFilterRequest); + for (BussinessLocalTypeEntity bussinessLocalTypeEntity : bussinessTypeEntities) { + if (StrUtil.isEmpty(bussinessLocalTypeEntity.getAction()) || bussinessLocalTypeEntity.getLocalAction().equals(busNoUserRequest.getCurAction())) { + returnDatas.add(bussinessLocalTypeEntity); + } + } + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setList(returnDatas); + return ResultVOUtils.success(pageSimpleResponse); + } + @PostMapping("/udiwms/localBusType/delete") public BaseResponse deleteBussinessType(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) { @@ -90,6 +150,7 @@ public class BussinessLocalTypeController { } String id = deleteRequest.getId(); BussinessLocalTypeEntity bussinessLocalTypeEntity = bussinessLocalTypeService.selectById(id); + BussinessLocalTypeFilterRequest bussinessTypeFilterRequest = new BussinessLocalTypeFilterRequest(); bussinessTypeFilterRequest.setAction(bussinessLocalTypeEntity.getAction()); List bussinessLocalTypeEntities = bussinessLocalTypeService.filterJoin(bussinessTypeFilterRequest); @@ -108,6 +169,7 @@ public class BussinessLocalTypeController { if (bussinessChangeTypeEntity != null && bussinessChangeTypeEntity.getScAction() != null) { return ResultVOUtils.error(500, "该业务单据类型已绑定流转单据类型,无法删除!"); } + bussinessLocalTypeService.deleteById(id); return ResultVOUtils.success("删除成功"); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessOriginTypeController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessOriginTypeController.java index 45875890..feaee8f1 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessOriginTypeController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessOriginTypeController.java @@ -35,7 +35,7 @@ public class BussinessOriginTypeController { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } List bussinessTypeEntities; - bussinessTypeEntities = bussinessOriginTypeService.filterList( + bussinessTypeEntities = bussinessOriginTypeService.filterEnableList( bussinessTypeFilterRequest); PageInfo pageInfo; pageInfo = new PageInfo<>(bussinessTypeEntities); diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessTypeController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessTypeController.java index 76a56b91..00b9789e 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessTypeController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessTypeController.java @@ -1,13 +1,18 @@ package com.glxp.api.admin.controller.basic; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.github.pagehelper.PageInfo; import com.glxp.api.admin.annotation.AuthRuleAnnotation; import com.glxp.api.admin.constant.BussinessTypeUtils; +import com.glxp.api.admin.constant.Constant; import com.glxp.api.admin.constant.ConstantStatus; +import com.glxp.api.admin.constant.ConstantType; import com.glxp.api.admin.entity.basic.BusDataEntity; +import com.glxp.api.admin.entity.basic.BussinessLocalTypeEntity; import com.glxp.api.admin.entity.basic.BussinessTypeEntity; +import com.glxp.api.admin.entity.basic.CndidateRequest; import com.glxp.api.admin.entity.inout.OrderEntity; import com.glxp.api.admin.entity.inout.WarehouseEntity; import com.glxp.api.admin.req.inout.DeleteRequest; @@ -19,6 +24,8 @@ import com.glxp.api.admin.res.basic.BasicThirdSysResponse; import com.glxp.api.admin.res.basic.BussinessTypExportResponse; import com.glxp.api.admin.res.basic.BussinessTypResponse; import com.glxp.api.admin.res.basic.SrBtResponse; +import com.glxp.api.admin.service.auth.AuthAdminService; +import com.glxp.api.admin.service.basic.BussinessLocalTypeService; import com.glxp.api.admin.service.basic.BussinessTypeService; import com.glxp.api.admin.service.inout.OrderService; import com.glxp.api.admin.util.CustomUtil; @@ -49,7 +56,10 @@ import java.util.stream.Collectors; @RestController public class BussinessTypeController { - + @Resource + private BussinessLocalTypeService bussinessLocalTypeService; + @Resource + private AuthAdminService authAdminService; @Resource private BussinessTypeService bussinessTypeService; @Resource @@ -62,6 +72,19 @@ public class BussinessTypeController { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } + + if (!StrUtil.isEmpty(bussinessTypeFilterRequest.getFilterAction())) { + BussinessLocalTypeEntity bussinessLocalTypeEntity = bussinessLocalTypeService.findBTByAction(bussinessTypeFilterRequest.getFilterAction()); + if (bussinessLocalTypeEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { + bussinessTypeFilterRequest.setMainAction(ConstantType.TYPE_OUT); + } else { + bussinessTypeFilterRequest.setMainAction(ConstantType.TYPE_PUT); + } + + bussinessTypeFilterRequest.setAdvanceType(bussinessLocalTypeEntity.isAdvanceType()); + } + + List bussinessTypeEntities; bussinessTypeEntities = bussinessTypeService.filterList(bussinessTypeFilterRequest); PageInfo pageInfo; @@ -79,6 +102,18 @@ public class BussinessTypeController { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } + + if (!StrUtil.isEmpty(bussinessTypeFilterRequest.getFilterAction())) { + BussinessLocalTypeEntity bussinessLocalTypeEntity = bussinessLocalTypeService.findBTByAction(bussinessTypeFilterRequest.getFilterAction()); + if (bussinessLocalTypeEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { + bussinessTypeFilterRequest.setMainAction(ConstantType.TYPE_OUT); + } else { + bussinessTypeFilterRequest.setMainAction(ConstantType.TYPE_PUT); + } + + bussinessTypeFilterRequest.setAdvanceType(bussinessLocalTypeEntity.isAdvanceType()); + } + List bussinessTypeEntities; bussinessTypeEntities = bussinessTypeService.filterJoinList(bussinessTypeFilterRequest); PageInfo pageInfo; @@ -89,6 +124,25 @@ public class BussinessTypeController { return ResultVOUtils.success(pageSimpleResponse); } + @AuthRuleAnnotation("") + @GetMapping("/udiwms/bussinessType/filterAllByUser") + public BaseResponse filterAllByUser(BussinessTypeFilterRequest bussinessTypeFilterRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List bussinessTypeEntities; + bussinessTypeEntities = bussinessTypeService.filterAllByUser(bussinessTypeFilterRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(bussinessTypeEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(bussinessTypeEntities); + return ResultVOUtils.success(pageSimpleResponse); + } + + // @AuthRuleAnnotation("") @GetMapping("/udiwms/bussinessType/download") public BaseResponse downloadJoinBussinessType(BussinessTypeFilterRequest bussinessTypeFilterRequest, @@ -238,5 +292,24 @@ public class BussinessTypeController { // return ResultVOUtils.success("文件生成成功!!"); } + /** + * 获取候选补单单据类型 + * + * @return + */ + @AuthRuleAnnotation("") + @GetMapping("/warehouse/bussinessType/candidateBussinessType") + public BaseResponse candidateBussinessType(CndidateRequest cndidateRequest) { + if (StrUtil.isBlank(cndidateRequest.getMainAction())) { + return ResultVOUtils.error(ResultEnum.DATA_ERROR); + } + List bussinessTypeEntities = bussinessTypeService.candidateBussinessType(cndidateRequest.getMainAction()); + if (!StrUtil.isEmpty(cndidateRequest.getCurAction())) { + BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(cndidateRequest.getCurAction()); + bussinessTypeEntities.add(bussinessTypeEntity); + } + //查询补单单据类型 + return ResultVOUtils.success(bussinessTypeEntities); + } } diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/UdiRelevanceController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/UdiRelevanceController.java index 910ec035..8e009513 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/UdiRelevanceController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/UdiRelevanceController.java @@ -3,6 +3,7 @@ package com.glxp.api.admin.controller.basic; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.TypeReference; import com.github.pagehelper.PageInfo; +import com.glxp.api.admin.annotation.AuthRuleAnnotation; import com.glxp.api.admin.config.WebSocketServer; import com.glxp.api.admin.constant.ConstantStatus; import com.glxp.api.admin.entity.basic.*; @@ -224,6 +225,26 @@ public class UdiRelevanceController { return ResultVOUtils.success("更新成功"); } + + + //新增或修改关联 + @AuthRuleAnnotation("") + @PostMapping("/udi/udirel/check/udi") + public BaseResponse checkUdi(@RequestBody CombineRequest combineRequest) { + + List keys = combineRequest.getKeys(); + if (keys != null && keys.size() > 0) { + + List datas = udiRelevanceService.batchSelectByUuid(keys); + if (datas.isEmpty()) { + return ResultVOUtils.success("无被选入!"); + } else { + return ResultVOUtils.error(499, "所选产品DI已经被"+"第三方产品ID"+"绑定,您确定继续对照"); + } + } + return ResultVOUtils.success("合并成功"); + } + //新增或修改关联 @PostMapping("/udi/udirel/revleance") public BaseResponse revleanceUdi(@RequestBody CombineRequest combineRequest) { diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/business/StockOrderController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/business/StockOrderController.java index 82301955..20f7f36b 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/business/StockOrderController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/business/StockOrderController.java @@ -2,8 +2,12 @@ package com.glxp.api.admin.controller.business; import cn.hutool.core.bean.BeanUtil; import com.github.pagehelper.PageInfo; +import com.glxp.api.admin.annotation.AuthRuleAnnotation; +import com.glxp.api.admin.constant.Constant; import com.glxp.api.admin.constant.ConstantStatus; import com.glxp.api.admin.controller.inventory.InvPrintController; +import com.glxp.api.admin.entity.basic.BasicUnitMaintainEntity; +import com.glxp.api.admin.entity.basic.BussinessLocalTypeEntity; import com.glxp.api.admin.entity.business.StockOrderDetailEntity; import com.glxp.api.admin.entity.business.StockOrderEntity; import com.glxp.api.admin.entity.business.StockQRCodeTextEntity; @@ -21,6 +25,11 @@ import com.glxp.api.admin.res.PageSimpleResponse; import com.glxp.api.admin.res.basic.UdiRelevanceResponse; import com.glxp.api.admin.res.business.StockOrderExportResponse; import com.glxp.api.admin.res.inout.ErpOrderResponse; +import com.glxp.api.admin.res.inout.StockOrderResponse; +import com.glxp.api.admin.service.auth.AuthAdminService; +import com.glxp.api.admin.service.auth.CustomerService; +import com.glxp.api.admin.service.basic.BasicUnitMaintainService; +import com.glxp.api.admin.service.basic.BussinessLocalTypeService; import com.glxp.api.admin.service.basic.UdiInfoService; import com.glxp.api.admin.service.basic.UdiRelevanceService; import com.glxp.api.admin.service.business.StockOrderDetailService; @@ -30,8 +39,10 @@ import com.glxp.api.admin.service.business.StockQRCodeTextService; import com.glxp.api.admin.service.info.CompanyService; import com.glxp.api.admin.service.info.SystemParamConfigService; import com.glxp.api.admin.service.inout.CodesService; +import com.glxp.api.admin.service.inout.OrderService; import com.glxp.api.admin.service.inventory.InCodeLogService; import com.glxp.api.admin.service.inventory.InvStockPrintService; +import com.glxp.api.admin.util.CustomUtil; import com.glxp.api.admin.util.DateUtil; import com.glxp.api.admin.util.StockOrderBillNoUtils; import com.glxp.api.common.enums.ResultEnum; @@ -67,7 +78,8 @@ public class StockOrderController { private UdiRelevanceService udiRelevanceService; @Resource private SystemParamConfigService systemParamConfigService; - + @Resource + private AuthAdminService authAdminService; @Resource private InvPrintController invPrintController; @Resource @@ -76,6 +88,14 @@ public class StockOrderController { InCodeLogService inCodeLogService; @Resource CompanyService companyService; + @Resource + BussinessLocalTypeService bussinessLocalTypeService; + @Resource + BasicUnitMaintainService basicUnitMaintainService; + @Resource + OrderService orderService; + @Resource + CustomerService customerService; @GetMapping("/udiwms/stock/order/error") public BaseResponse listStockOrderNoDealWith(StockOrderFilterRequest stockOrderFilterRequest) { @@ -117,11 +137,10 @@ public class StockOrderController { @PostMapping("/udiwms/stock/order/insertWeb") public BaseResponse insertWeb(@RequestBody StockOrderPostRequest stockOrderPostRequest, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } - + Integer userId = customerService.getUserId(); boolean noRepeatBillNo = false; boolean newBillNo = false; StockOrderFilterRequest stockOrderFilterRequest = new StockOrderFilterRequest(); @@ -145,7 +164,7 @@ public class StockOrderController { StockOrderEntity stockOrderEntity = new StockOrderEntity(); BeanUtils.copyProperties(stockOrderPostRequest, stockOrderEntity); - + stockOrderEntity.setCreateUser(userId); stockOrderEntity.setStatus( StringUtils.isBlank(stockOrderEntity.getStatus()) ? 501 + ""//未提交 : stockOrderEntity.getStatus()); @@ -162,11 +181,22 @@ public class StockOrderController { } } if (StringUtils.isBlank(stockOrderEntity.getId())) { + if (stockOrderPostRequest.getCorpId() == null) { + BasicUnitMaintainEntity basicUnitMaintainEntity = basicUnitMaintainService.selectByName(stockOrderPostRequest.getCorpName()); + BussinessLocalTypeEntity bussinessLocalTypeEntity = bussinessLocalTypeService.findBTByAction(stockOrderEntity.getBillType()); + if (basicUnitMaintainEntity == null && bussinessLocalTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_INPUT) { + basicUnitMaintainEntity = new BasicUnitMaintainEntity(); + basicUnitMaintainEntity.setErpId(CustomUtil.getUnitId()); + stockOrderPostRequest.setCorpId(basicUnitMaintainEntity.getErpId()); + basicUnitMaintainEntity.setCorpType(ConstantStatus.CORP_SICK); + basicUnitMaintainEntity.setName(stockOrderPostRequest.getCorpName()); + basicUnitMaintainService.insertBasicUnitMaintain(basicUnitMaintainEntity); + } + } + stockOrderEntity.setCorpId(stockOrderPostRequest.getCorpId()); + stockOrderEntity.setCorpName(stockOrderPostRequest.getCorpName()); + stockOrderEntity.setUnitIdFk(stockOrderPostRequest.getUnitIdFk()); - CompanyEntity companyEntity = companyService.findCompany(); -// stockOrderEntity.setCorpId(companyEntity.getUnitIdFk()); -// stockOrderEntity.setCorpName(companyEntity.getCompanyName()); -// stockOrderEntity.setUnitIdFk(companyEntity.getUnitIdFk()); stockOrderEntity.setCustomerId(stockOrderPostRequest.getCustomerId()); stockOrderEntity.setBilldate(DateUtil.formatDate(new Date())); b = stockOrderService.insertStockOrder(stockOrderEntity); @@ -238,18 +268,17 @@ public class StockOrderController { // stockOrderFilterRequest.setStatus(0 + ""); // } -// if (StringUtils.isNotBlank(stockOrderFilterRequest.getCorpId())) { -// CompanyEntity companyEntity = companyService.findCompany(Long.parseLong(stockOrderFilterRequest.getCorpId())); -// stockOrderFilterRequest.setUnitIdFk(companyEntity.getUnitIdFk()); -// stockOrderFilterRequest.setCorpId(null); -// } + stockOrderFilterRequest.setUserId(customerService.getUserId()); stockOrderEntityList = stockOrderService.filterListOr(stockOrderFilterRequest); PageInfo pageInfo; pageInfo = new PageInfo<>(stockOrderEntityList); - PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + + //判断订单是否可以补单 + List resultList = orderService.checkSupplementOrder(stockOrderEntityList); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); pageSimpleResponse.setTotal(pageInfo.getTotal()); - pageSimpleResponse.setList(stockOrderEntityList); + pageSimpleResponse.setList(resultList); return ResultVOUtils.success(pageSimpleResponse); } @@ -258,6 +287,7 @@ public class StockOrderController { public BaseResponse filterDetail(StockOrderFilterRequest stockOrderFilterRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } @@ -265,10 +295,6 @@ public class StockOrderController { stockOrderFilterRequest.setBillType(stockOrderFilterRequest.getBillAction()); } List erpOrderResponses = new ArrayList<>(); -// if (stockOrderFilterRequest.getCustomerId() != null) { -// CompanyEntity companyEntity = companyService.findCompany(Long.parseLong(stockOrderFilterRequest.getCustomerId())); -// stockOrderFilterRequest.setUnitIdFk(companyEntity.getUnitIdFk()); -// } List stockOrderEntityList; stockOrderEntityList = stockOrderService.filterListOr(stockOrderFilterRequest); @@ -314,6 +340,13 @@ public class StockOrderController { return ResultVOUtils.success(); } + @AuthRuleAnnotation("") + @PostMapping("/udiwms/stock/order/update") + public BaseResponse submitStockOrder(@RequestBody StockOrderEntity stockOrderEntity) { + stockOrderService.updateById(stockOrderEntity); + return ResultVOUtils.success(); + } + @GetMapping("/udiwms/stock/order/new/submit") public BaseResponse submitNewStockOrder(@RequestParam("id") String id) { StockOrderEntity stockOrderEntity = new StockOrderEntity(); @@ -341,10 +374,19 @@ public class StockOrderController { return ResultVOUtils.success(); } + @AuthRuleAnnotation("") @PostMapping("/udiwms/stock/order/qrcode/generate/text") public BaseResponse generateStockOrderQRCodeText(@RequestBody StockOrderIdsRequest stockOrderIdsRequest) { - if (stockOrderIdsRequest.getIds().size() < 1) return ResultVOUtils.error(ResultEnum.DATA_ERROR); + if (stockOrderIdsRequest.getIds() == null || stockOrderIdsRequest.getIds().size() < 1) { + if (stockOrderIdsRequest.getId() != null) { + List ids = new ArrayList<>(); + ids.add(stockOrderIdsRequest.getId()); + stockOrderIdsRequest.setIds(ids); + } else + return ResultVOUtils.error(ResultEnum.DATA_ERROR); + + } StockOrderFilterRequest stockOrderFilterRequest = new StockOrderFilterRequest(); for (String id : stockOrderIdsRequest.getIds()) { stockOrderFilterRequest.setId(id); @@ -368,22 +410,27 @@ public class StockOrderController { StockPrintEntity stockPrintEntity = new StockPrintEntity(); stockPrintEntity.setSOrderId(stockOrderEntity.getId()); stockPrintEntity.setUpdateTime(new Date()); - stockPrintEntity.setNameCode(stockOrderDetailEntity.getProductId()); + stockPrintEntity.setNameCode(udiRelevanceResponse.getNameCode() + ""); stockPrintEntity.setProduceDate(stockOrderDetailEntity.getProductDate()); stockPrintEntity.setExpireDate(stockOrderDetailEntity.getExpireDate()); stockPrintEntity.setBatchNo(stockOrderDetailEntity.getBatchNo()); stockPrintEntity.setSDetailId(stockOrderDetailEntity.getId()); + stockPrintEntity.setUdiRlIdFk(udiRelevanceResponse.getId() + ""); + stockPrintEntity.setCount(Integer.parseInt(stockOrderDetailEntity.getReCount())); stockPrintEntities.add(stockPrintEntity); } } else { + UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectGroupById(stockOrderDetailEntity.getProductId()); StockPrintEntity stockPrintEntity = new StockPrintEntity(); - stockPrintEntity.setNameCode(stockOrderDetailEntity.getProductId()); + stockPrintEntity.setNameCode(udiRelevanceResponse.getNameCode()); stockPrintEntity.setSOrderId(stockOrderEntity.getId()); stockPrintEntity.setUpdateTime(new Date()); + stockPrintEntity.setUdiRlIdFk(udiRelevanceResponse.getId() + ""); stockPrintEntity.setProduceDate(stockOrderDetailEntity.getProductDate()); stockPrintEntity.setExpireDate(stockOrderDetailEntity.getExpireDate()); stockPrintEntity.setBatchNo(stockOrderDetailEntity.getBatchNo()); stockPrintEntity.setSDetailId(stockOrderDetailEntity.getId()); + stockPrintEntity.setCount(Integer.parseInt(stockOrderDetailEntity.getReCount())); stockPrintEntities.add(stockPrintEntity); } } @@ -446,6 +493,7 @@ public class StockOrderController { return genKey; } + @AuthRuleAnnotation("") @GetMapping("/udiwms/stock/order/generateBillNo") public BaseResponse stockOrderGenerateBillNo(@RequestParam("action") String action) { @@ -453,7 +501,6 @@ public class StockOrderController { return ResultVOUtils.success(billNo); } - /** * 导出已验收单据数据接口 * diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/business/StockOrderDetailController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/business/StockOrderDetailController.java index 65b3a122..9a594ec9 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/business/StockOrderDetailController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/business/StockOrderDetailController.java @@ -1,24 +1,37 @@ package com.glxp.api.admin.controller.business; import com.github.pagehelper.PageInfo; +import com.glxp.api.admin.annotation.AuthRuleAnnotation; +import com.glxp.api.admin.constant.Constant; +import com.glxp.api.admin.constant.ConstantStatus; +import com.glxp.api.admin.entity.auth.AuthAdmin; +import com.glxp.api.admin.entity.basic.BussinessLocalTypeEntity; import com.glxp.api.admin.entity.basic.UdiEntity; import com.glxp.api.admin.entity.basic.UdiInfoEntity; import com.glxp.api.admin.entity.business.StockOrderDetailEntity; import com.glxp.api.admin.entity.info.SystemParamConfigEntity; +import com.glxp.api.admin.exception.JsonException; +import com.glxp.api.admin.req.basic.CompanyProductRelevanceRequest; import com.glxp.api.admin.req.basic.FilterUdiInfoRequest; import com.glxp.api.admin.req.business.StockOrderDetailFilterRequest; import com.glxp.api.admin.req.business.StockOrderIdsRequest; +import com.glxp.api.admin.req.business.StockSelectDataEntity; import com.glxp.api.admin.req.info.SystemParamConfigRequest; import com.glxp.api.admin.req.inout.DeleteRequest; import com.glxp.api.admin.res.PageSimpleResponse; import com.glxp.api.admin.res.basic.UdiRelevanceResponse; import com.glxp.api.admin.res.business.StockOrderDetailQueryProductResponse; import com.glxp.api.admin.res.business.StockOrderDetailResponse; +import com.glxp.api.admin.res.info.CompanyProductRelevanceResponse; +import com.glxp.api.admin.service.auth.AuthAdminService; +import com.glxp.api.admin.service.basic.BussinessLocalTypeService; +import com.glxp.api.admin.service.basic.BussinessTypeService; import com.glxp.api.admin.service.basic.UdiInfoService; import com.glxp.api.admin.service.basic.UdiRelevanceService; import com.glxp.api.admin.service.business.StockOrderDetailService; import com.glxp.api.admin.service.business.StockOrderDetailTempService; import com.glxp.api.admin.service.business.StockQRCodeTextService; +import com.glxp.api.admin.service.info.CompanyProductRelevanceService; import com.glxp.api.admin.service.info.SystemParamConfigService; import com.glxp.api.admin.thread.IoTransInoutService; import com.glxp.api.admin.util.FilterUdiUtils; @@ -30,8 +43,11 @@ import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import java.util.ArrayList; import java.util.List; @@ -48,12 +64,21 @@ public class StockOrderDetailController { UdiInfoService udiInfoService; @Resource private UdiRelevanceService udiRelevanceService; + @Resource + private CompanyProductRelevanceService companyProductRelevanceService; @Resource private IoTransInoutService transInoutService; @Autowired private SystemParamConfigService systemParamConfigService; + @Resource + AuthAdminService authAdminService; + @Resource + BussinessTypeService bussinessTypeService; + @Resource + BussinessLocalTypeService bussinessLocalTypeService; + @AuthRuleAnnotation("") @GetMapping("/udiwms/stock/order/detail/filter") public BaseResponse filterStockOrderDetail(StockOrderDetailFilterRequest stockOrderDetailFilterRequest, BindingResult bindingResult) { @@ -71,6 +96,7 @@ public class StockOrderDetailController { return ResultVOUtils.success(pageSimpleResponse); } + @AuthRuleAnnotation("") @GetMapping("/udiwms/stock/order/detail/filter2") public BaseResponse filterStockOrderDetail2(StockOrderDetailFilterRequest stockOrderDetailFilterRequest, BindingResult bindingResult) { @@ -92,6 +118,7 @@ public class StockOrderDetailController { return ResultVOUtils.success(pageSimpleResponse); } + @AuthRuleAnnotation("") @GetMapping("/udiwms/stock/order/detail/temp/filter") public BaseResponse filterStockOrderDetailTemp(StockOrderDetailFilterRequest stockOrderDetailFilterRequest, BindingResult bindingResult) { @@ -109,7 +136,7 @@ public class StockOrderDetailController { return ResultVOUtils.success(pageSimpleResponse); } - + @AuthRuleAnnotation("") @GetMapping("/udiwms/stock/order/detail/getStockOrderDetails") public BaseResponse getStockOrderDetails(StockOrderDetailFilterRequest stockOrderDetailFilterRequest, BindingResult bindingResult) { @@ -127,7 +154,7 @@ public class StockOrderDetailController { return ResultVOUtils.success(pageSimpleResponse); } - + @AuthRuleAnnotation("") @GetMapping(value = "/udiwms/stock/order/detail") public BaseResponse stockOrderDetail(StockOrderDetailFilterRequest stockOrderDetailFilterRequest, BindingResult bindingResult) { @@ -143,6 +170,7 @@ public class StockOrderDetailController { return ResultVOUtils.success(erpOrderEntities); } + @AuthRuleAnnotation("") @GetMapping("/udiwms/stock/order/detail/uploadCount") public BaseResponse uploadCount(@RequestParam("orderId") String orderId, @RequestParam("code") String code) { UdiEntity udiEntity = FilterUdiUtils.getUdi(code); @@ -188,6 +216,7 @@ public class StockOrderDetailController { return ResultVOUtils.error(ResultEnum.DATA_NOT); } + @AuthRuleAnnotation("") @GetMapping("/udiwms/stock/order/detail/getInstrument") public BaseResponse getStockOrderDetailInstrument(@RequestParam("count") String count, @RequestParam("code") String code) { UdiEntity udiEntity = FilterUdiUtils.getUdi(code); @@ -211,33 +240,53 @@ public class StockOrderDetailController { return ResultVOUtils.error(ResultEnum.DATA_NOT, "未找到该产品"); } + @AuthRuleAnnotation("") @PostMapping("/udiwms/stock/order/detail/getInstrumentById") public BaseResponse getStockOrderDetailInstrumentById(@RequestBody StockOrderIdsRequest stockOrderIdsRequest) { List stockOrderDetailEntityList = new ArrayList<>(); List originDatas = stockOrderIdsRequest.getStockOrderLists(); - for (String id : stockOrderIdsRequest.getIds()) { - FilterUdiInfoRequest companyProductRelevanceRequest = new FilterUdiInfoRequest(); - companyProductRelevanceRequest.setId(id); + if (stockOrderIdsRequest.getDatas() == null && stockOrderIdsRequest.getDatas().size() < 1) { + return ResultVOUtils.error(500, "未选择产品!"); + } + for (StockSelectDataEntity stockSelectDataEntity : stockOrderIdsRequest.getDatas()) { + CompanyProductRelevanceRequest companyProductRelevanceRequest = new CompanyProductRelevanceRequest(); + companyProductRelevanceRequest.setId(stockSelectDataEntity.getRelId()); companyProductRelevanceRequest.setDiType(1); - List companyProductRelevanceResponses = udiRelevanceService.filterUdiGp(companyProductRelevanceRequest); - + companyProductRelevanceRequest.setCustomerId(getCustomerId()); + List companyProductRelevanceResponses = new ArrayList<>(); + if (companyProductRelevanceRequest.getCustomerId().equals(Constant.SYSTEM_CUSTOMER_ID)) { + FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); + filterUdiInfoRequest.setId(stockSelectDataEntity.getRelId()); + filterUdiInfoRequest.setDiType(1); + List udiRelevanceResponses = udiRelevanceService.filterUdiGp(filterUdiInfoRequest); + if (udiRelevanceResponses.size() > 0) { + CompanyProductRelevanceResponse companyProductRelevanceResponse = new CompanyProductRelevanceResponse(); + BeanUtils.copyProperties(udiRelevanceResponses.get(0), companyProductRelevanceResponse); + companyProductRelevanceResponse.setRlId(udiRelevanceResponses.get(0).getId()); + companyProductRelevanceResponses.add(companyProductRelevanceResponse); + } + } else + companyProductRelevanceResponses = companyProductRelevanceService.filterUdiGp(companyProductRelevanceRequest); if (companyProductRelevanceResponses != null && companyProductRelevanceResponses.size() > 0) { - UdiRelevanceResponse udiInfoEntity = companyProductRelevanceResponses.get(0); + CompanyProductRelevanceResponse udiInfoEntity = companyProductRelevanceResponses.get(0); StockOrderDetailEntity stockOrderDetailEntity = new StockOrderDetailEntity(); - stockOrderDetailEntity.setProductId(udiInfoEntity.getId() + ""); + stockOrderDetailEntity.setProductId(udiInfoEntity.getRlId() + ""); stockOrderDetailEntity.setProductName(udiInfoEntity.getCpmctymc()); stockOrderDetailEntity.setSpec(udiInfoEntity.getGgxh()); stockOrderDetailEntity.setCount(0 + ""); stockOrderDetailEntity.setReCount(0 + ""); + stockOrderDetailEntity.setBatchNo(stockSelectDataEntity.getBatchNo()); + stockOrderDetailEntity.setProductDate(stockSelectDataEntity.getProductDate()); + stockOrderDetailEntity.setExpireDate(stockSelectDataEntity.getExpireDate()); stockOrderDetailEntity.setYlqxzcrbarmc(udiInfoEntity.getYlqxzcrbarmc()); stockOrderDetailEntity.setZczbhhzbapzbh(udiInfoEntity.getZczbhhzbapzbh()); if (stockOrderIdsRequest.getUdiEntity() != null) { UdiEntity udiEntity = stockOrderIdsRequest.getUdiEntity(); stockOrderDetailEntity.setBatchNo(udiEntity.getBatchNo()); + stockOrderDetailEntity.setCount(1 + ""); stockOrderDetailEntity.setProductDate(udiEntity.getProduceDate()); stockOrderDetailEntity.setExpireDate(udiEntity.getExpireDate()); - if (originDatas != null && originDatas.size() > 0) { if (!isSameBatch(originDatas, stockOrderDetailEntity)) { stockOrderDetailEntityList.add(stockOrderDetailEntity); @@ -245,6 +294,7 @@ public class StockOrderDetailController { } else { stockOrderDetailEntityList.add(stockOrderDetailEntity); } + } else stockOrderDetailEntityList.add(stockOrderDetailEntity); } @@ -269,6 +319,7 @@ public class StockOrderDetailController { return false; } + @AuthRuleAnnotation("") @GetMapping("/udiwms/stock/order/detail/addFromCode") public BaseResponse addStockOrderDetailFromCode(@RequestParam("orderId") String orderId, @RequestParam("count") String count, @@ -311,39 +362,13 @@ public class StockOrderDetailController { return ResultVOUtils.error(ResultEnum.DATA_NOT, "未找到该产品"); } - @GetMapping("/udiwms/stock/order/detail/addFromCodeById") - public BaseResponse addStockOrderDetailFromCodeById(@RequestParam("orderId") String orderId, - @RequestParam("id") String id) { - UdiInfoEntity udiInfoEntity = - udiInfoService.findByNameCode(id); - if (udiInfoEntity != null) { - - StockOrderDetailEntity stockOrderDetailEntity = new StockOrderDetailEntity(); - stockOrderDetailEntity.setOrderIdFk(orderId); - stockOrderDetailEntity.setProductId(udiInfoEntity.getNameCode()); - stockOrderDetailEntity.setProductName(udiInfoEntity.getCpmctymc()); - stockOrderDetailEntity.setSpec(udiInfoEntity.getGgxh()); - stockOrderDetailEntity.setBatchNo(udiInfoEntity.getBatchNo()); - stockOrderDetailEntity.setProductDate(udiInfoEntity.getProduceDate()); - stockOrderDetailEntity.setExpireDate(udiInfoEntity.getExpireDate()); - stockOrderDetailEntity.setCount(0 + ""); - stockOrderDetailEntity.setReCount(0 + ""); - stockOrderDetailEntity.setSweepCount(0 + ""); - stockOrderDetailEntity.setYlqxzcrbarmc(udiInfoEntity.getYlqxzcrbarmc()); - stockOrderDetailEntity.setZczbhhzbapzbh(udiInfoEntity.getZczbhhzbapzbh()); - - stockOrderDetailService.insertStockOrderDetail(stockOrderDetailEntity); - - return ResultVOUtils.success(); - } - - return ResultVOUtils.error(ResultEnum.DATA_NOT, "未找到该产品"); - } - + @AuthRuleAnnotation("") @GetMapping("/udiwms/stock/order/detail/queryProduct") - public BaseResponse queryProduct(@RequestParam("code") String code) { + public BaseResponse queryProduct(@RequestParam("code") String code, @RequestParam("customerId") String customerId) { UdiEntity udiEntity = null; if (StringUtils.isNotBlank(code)) { + CompanyProductRelevanceRequest companyProductRelevanceRequest = new CompanyProductRelevanceRequest(); + companyProductRelevanceRequest.setCustomerId(customerId); if (code.length() > 13) { String tStr = code.substring(0, 2); @@ -356,20 +381,18 @@ public class StockOrderDetailController { } } StockOrderDetailQueryProductResponse stockOrderDetailQueryProductResponse = new StockOrderDetailQueryProductResponse(); - FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); - if (udiEntity == null) { - filterUdiInfoRequest.setUnionCode(code); + companyProductRelevanceRequest.setUnionCode(code); stockOrderDetailQueryProductResponse.setUdi(code); } else { - filterUdiInfoRequest.setUnionCode(udiEntity.getUdi()); + companyProductRelevanceRequest.setUnionCode(udiEntity.getUdi()); BeanUtils.copyProperties(udiEntity, stockOrderDetailQueryProductResponse); } - List basicInstrumentMaintainRelevanceResponses = null; - basicInstrumentMaintainRelevanceResponses = udiRelevanceService.filterUdiGp(filterUdiInfoRequest); + List basicInstrumentMaintainRelevanceResponses = null; + basicInstrumentMaintainRelevanceResponses = companyProductRelevanceService.filterUdiGp(companyProductRelevanceRequest); if (basicInstrumentMaintainRelevanceResponses.size() == 1) { stockOrderDetailQueryProductResponse.setGetType("1"); - stockOrderDetailQueryProductResponse.setGetId(basicInstrumentMaintainRelevanceResponses.get(0).getId() + ""); + stockOrderDetailQueryProductResponse.setGetId(basicInstrumentMaintainRelevanceResponses.get(0).getRlId() + ""); } else if (basicInstrumentMaintainRelevanceResponses.size() > 1) { stockOrderDetailQueryProductResponse.setGetType("2"); } else { @@ -382,44 +405,64 @@ public class StockOrderDetailController { } + @AuthRuleAnnotation("") @GetMapping("/udiwms/stock/order/detail/filterProduct") public BaseResponse filterProduct(FilterUdiInfoRequest filterUdiInfoRequest) { + String nameCode = null; UdiEntity udiEntity = null; - if (filterUdiInfoRequest.getUdiCode() != null && !filterUdiInfoRequest.getUdiCode().isEmpty()) { udiEntity = FilterUdiUtils.getUdi(filterUdiInfoRequest.getUdiCode()); + if (udiEntity != null) { + nameCode = udiEntity.getUdi(); + } else { + nameCode = filterUdiInfoRequest.getNameCode(); + } + filterUdiInfoRequest.setNameCode(nameCode); + List temps = udiRelevanceService.filterUdiGp(filterUdiInfoRequest); + if (temps != null && temps.size() > 0) { + filterUdiInfoRequest.setUuid(temps.get(0).getUuid()); + filterUdiInfoRequest.setNameCode(null); + } } - - if (udiEntity != null) { - nameCode = udiEntity.getUdi(); + filterUdiInfoRequest.setDiType(1); + CompanyProductRelevanceRequest companyProductRelevanceRequest = new CompanyProductRelevanceRequest(); + BeanUtils.copyProperties(filterUdiInfoRequest, companyProductRelevanceRequest); + List basicInstrumentMaintainRelevanceResponses = null; + if (filterUdiInfoRequest.getCustomerId().equals(Constant.SYSTEM_CUSTOMER_ID)) { + BussinessLocalTypeEntity bussinessTypeEntity = bussinessLocalTypeService.findBTByAction(filterUdiInfoRequest.getBillType()); + if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_OUT) { + companyProductRelevanceRequest.setCustomerId(null); + companyProductRelevanceRequest.setUnitFk(companyProductRelevanceRequest.getCorpId()); + basicInstrumentMaintainRelevanceResponses = companyProductRelevanceService.filterUdiGp(companyProductRelevanceRequest); + } else { + basicInstrumentMaintainRelevanceResponses = getHosDatas(filterUdiInfoRequest); + } } else { - nameCode = filterUdiInfoRequest.getNameCode(); + basicInstrumentMaintainRelevanceResponses = companyProductRelevanceService.filterUdiGp(companyProductRelevanceRequest); } - - filterUdiInfoRequest.setNameCode(nameCode); - filterUdiInfoRequest.setDiType(1); - List basicInstrumentMaintainRelevanceResponses = null; - basicInstrumentMaintainRelevanceResponses = udiRelevanceService.filterUdiGp(filterUdiInfoRequest); - - //todo 为什么要把去掉使用单元 -// if (basicInstrumentMaintainRelevanceResponses != null && basicInstrumentMaintainRelevanceResponses.size() > 0) { -// for (CompanyProductRelevanceResponse basicInstrumentMaintainRelevanceResponse : basicInstrumentMaintainRelevanceResponses) { -// if (basicInstrumentMaintainRelevanceResponse.getDiType() == 2 && basicInstrumentMaintainRelevanceResponse.getIsUseDy() != 1) { -// basicInstrumentMaintainRelevanceResponse.setNameCode(basicInstrumentMaintainRelevanceResponse.getSjcpbm()); -// } -// } -// } - - PageInfo pageInfo; + PageInfo pageInfo; pageInfo = new PageInfo<>(basicInstrumentMaintainRelevanceResponses); - PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); pageSimpleResponse.setTotal(pageInfo.getTotal()); pageSimpleResponse.setList(basicInstrumentMaintainRelevanceResponses); return ResultVOUtils.success(pageSimpleResponse); } + public List getHosDatas(FilterUdiInfoRequest filterUdiInfoRequest) { + List udiRelevanceResponses = udiRelevanceService.filterUdiGp(filterUdiInfoRequest); + List basicInstrumentMaintainRelevanceResponses = new ArrayList<>(); + for (UdiRelevanceResponse udiRelevanceResponse : udiRelevanceResponses) { + CompanyProductRelevanceResponse companyProductRelevanceResponse = new CompanyProductRelevanceResponse(); + BeanUtils.copyProperties(udiRelevanceResponse, companyProductRelevanceResponse); + companyProductRelevanceResponse.setRlId(udiRelevanceResponse.getId()); + basicInstrumentMaintainRelevanceResponses.add(companyProductRelevanceResponse); + } + return basicInstrumentMaintainRelevanceResponses; + } + + @AuthRuleAnnotation("") @GetMapping("/udiwms/stock/order/detail/copy") public BaseResponse uploadCount(@RequestParam("id") String id) { if (StringUtils.isNotBlank(id)) { @@ -434,7 +477,7 @@ public class StockOrderDetailController { return ResultVOUtils.error(ResultEnum.DATA_NOT); } - + @AuthRuleAnnotation("") @GetMapping(value = "/udiwms/stock/order/detail/upload") public BaseResponse upload(StockOrderDetailFilterRequest stockOrderDetailFilterRequest, BindingResult bindingResult) { @@ -467,6 +510,7 @@ public class StockOrderDetailController { return ResultVOUtils.error(500, "修改失败"); } + @AuthRuleAnnotation("") @PostMapping("/udiwms/stock/order/detail/delete") public BaseResponse delete(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) { @@ -481,6 +525,7 @@ public class StockOrderDetailController { } } + @AuthRuleAnnotation("") @PostMapping("/udiwms/stock/order/detail/temp/delete") public BaseResponse deleteTemp(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) { @@ -494,4 +539,30 @@ public class StockOrderDetailController { return ResultVOUtils.error(500, "删除失败"); } } + + public String getCustomerId() { + ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + if (attributes == null) { + throw new JsonException(ResultEnum.NOT_NETWORK); + } + HttpServletRequest request = attributes.getRequest(); + String userId = request.getHeader("ADMIN_ID"); + AuthAdmin authAdmin = authAdminService.findById(Long.parseLong(userId)); + return authAdmin.getCustomerId() + ""; + } + + + /** + * 更新单据详情信息 + * + * @param stockOrderDetailEntities + * @return + */ + @AuthRuleAnnotation("") + @PostMapping("/udiwms/stock/order/detail/update") + public BaseResponse updateStockOrderDetail(StockOrderDetailEntity stockOrderDetailEntity) { + if (null != stockOrderDetailEntity) + stockOrderDetailService.updateById(stockOrderDetailEntity); + return ResultVOUtils.success("更新成功"); + } } diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/business/StockQRCodeTextController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/business/StockQRCodeTextController.java index 3586c333..4f65b110 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/business/StockQRCodeTextController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/business/StockQRCodeTextController.java @@ -1,18 +1,29 @@ package com.glxp.api.admin.controller.business; import com.github.pagehelper.PageInfo; +import com.glxp.api.admin.annotation.AuthRuleAnnotation; +import com.glxp.api.admin.constant.Constant; import com.glxp.api.admin.entity.business.StockOrderDetailEntity; import com.glxp.api.admin.entity.business.StockOrderEntity; import com.glxp.api.admin.entity.business.StockOrderPrintEntity; import com.glxp.api.admin.entity.business.StockQRCodeTextEntity; +import com.glxp.api.admin.entity.info.CompanyEntity; import com.glxp.api.admin.entity.info.SystemPDFModuleEntity; import com.glxp.api.admin.entity.info.SystemPDFTemplateEntity; import com.glxp.api.admin.entity.inventory.StockPrintEntity; +import com.glxp.api.admin.entity.inventory.StockPrintTempEntity; +import com.glxp.api.admin.req.basic.FilterStockprintRequest; import com.glxp.api.admin.req.business.StockQRCodeTextFilterRequest; import com.glxp.api.admin.req.inout.DeleteRequest; +import com.glxp.api.admin.req.inventory.DeleteStPrintTempRequest; +import com.glxp.api.admin.req.inventory.FilterStPrintTempRequest; import com.glxp.api.admin.req.itextpdf.InspectionPDFTemplateRequest; +import com.glxp.api.admin.req.itextpdf.PdfPrintCountEntity; import com.glxp.api.admin.req.itextpdf.StockQRCodeTextPDFTemplateRequest; +import com.glxp.api.admin.req.itextpdf.SystemPDFTemplateRelevanceRequest; import com.glxp.api.admin.res.PageSimpleResponse; +import com.glxp.api.admin.res.basic.SystemPDFTemplateRelevanceResponse; +import com.glxp.api.admin.service.basic.BussinessLocalTypeService; import com.glxp.api.admin.service.basic.BussinessTypeService; import com.glxp.api.admin.service.basic.UdiInfoService; import com.glxp.api.admin.service.basic.UdiRelevanceService; @@ -20,17 +31,18 @@ import com.glxp.api.admin.service.business.StockOrderDetailService; import com.glxp.api.admin.service.business.StockOrderDetailTempService; import com.glxp.api.admin.service.business.StockOrderService; import com.glxp.api.admin.service.business.StockQRCodeTextService; -import com.glxp.api.admin.service.info.SystemPDFModuleService; -import com.glxp.api.admin.service.info.SystemPDFTemplateService; -import com.glxp.api.admin.service.info.SystemParamConfigService; +import com.glxp.api.admin.service.info.*; import com.glxp.api.admin.service.inventory.InvStockPrintService; +import com.glxp.api.admin.service.inventory.StockPrintTempService; import com.glxp.api.admin.thread.IoTransInoutService; +import com.glxp.api.admin.thread.JaspaperService; +import com.glxp.api.admin.util.CustomUtil; import com.glxp.api.admin.util.JasperUtils; import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -40,6 +52,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -52,27 +65,28 @@ public class StockQRCodeTextController { @Resource StockOrderDetailService stockOrderDetailService; @Resource - StockOrderDetailTempService stockOrderDetailTempService; - @Resource StockQRCodeTextService stockQRCodeTextService; @Resource - UdiInfoService udiInfoService; - @Resource - private UdiRelevanceService udiRelevanceService; - @Resource private SystemPDFTemplateService systemPDFTemplateService; @Resource private SystemPDFModuleService systemPDFModuleService; @Resource - private BussinessTypeService bussinessTypeService; + private SystemPDFTemplateRelevanceService systemPDFTemplateRelevanceService; @Resource InvStockPrintService stockPrintService; + @Resource + CompanyService companyService; + @Value("${file_path}") + private String dirPath; + @Resource + private StockPrintTempService stockPrintTempService; + @Resource + private JaspaperService jaspaperService; @Resource - private IoTransInoutService transInoutService; - @Autowired - private SystemParamConfigService systemParamConfigService; + private BussinessLocalTypeService bussinessLocalTypeService; + @AuthRuleAnnotation("") @GetMapping("/udiwms/stock/qrcode/text/filter") public BaseResponse filterStockQRCodeText(StockQRCodeTextFilterRequest stockQRCodeTextFilterRequest, BindingResult bindingResult) { @@ -101,6 +115,7 @@ public class StockQRCodeTextController { } //-----------打印码 + @AuthRuleAnnotation("") @PostMapping("/udiwms/pdf/template/inspection/stock/qrcode/text/file") public BaseResponse inspectionStockQRCodeTextPDFFromTemplateFile( @RequestBody InspectionPDFTemplateRequest inspectionPDFTemplateRequest) throws Exception { @@ -119,27 +134,202 @@ public class StockQRCodeTextController { return ResultVOUtils.success(); } + @AuthRuleAnnotation("") @PostMapping("/udiwms/pdf/template/stock/qrcode/text/file") - public void stockQRCodeTextPDFFromTemplateFile( + public BaseResponse stockQRCodeTextPDFFromTemplateFile( @RequestBody StockQRCodeTextPDFTemplateRequest stockQRCodeTextPDFTemplateRequest, HttpServletRequest request, HttpServletResponse response) throws Exception { + SystemPDFModuleEntity systemPDFModuleEntity = systemPDFModuleService.selectById(3 + ""); + if (systemPDFModuleEntity == null) return null; + SystemPDFTemplateEntity systemPDFTemplateEntity = + systemPDFTemplateService.selectById(String.valueOf(systemPDFModuleEntity.getTemplateId())); + if (systemPDFTemplateEntity == null) return null; + List printEntities = new ArrayList<>(); + List mStockPrintEntities = new ArrayList<>(); + FilterStockprintRequest filterStockprintRequest = new FilterStockprintRequest(); + if (stockQRCodeTextPDFTemplateRequest.getOrderId() != null) { + filterStockprintRequest.setSOrderId(stockQRCodeTextPDFTemplateRequest.getOrderId()); + } else { + filterStockprintRequest.setId(stockQRCodeTextPDFTemplateRequest.getQueryId()); + } + List stockPrintEntities = stockPrintService.filterJoinStockPrint(filterStockprintRequest); + if (stockPrintEntities != null && stockPrintEntities.size() > 0) { + mStockPrintEntities.addAll(stockPrintEntities); + } + for (StockPrintEntity stockPrintEntity : mStockPrintEntities) { +// stockPrintEntity.setCorpName(companyEntity.getCompanyName()); + PdfPrintCountEntity pdfPrintCount = getCount(stockQRCodeTextPDFTemplateRequest.getCountList(), stockPrintEntity); + if (pdfPrintCount != null && pdfPrintCount.getRowCount() > 0) { + for (int i = 0; i < pdfPrintCount.getRowCount(); i++) { + StockPrintEntity clone = new StockPrintEntity(); + BeanUtils.copyProperties(stockPrintEntity, clone); + printEntities.add(clone); + } + } else { + printEntities.add(stockPrintEntity); + } + } + + if (printEntities.size() > 1000) { //如果标签打印数据大于1000,则切割生成多个文件 + List> splits = CustomUtil.splitList(printEntities, 100); + int index = 0; + List stockPrintTempEntities = new ArrayList<>(); + for (int i = 0; i < splits.size(); i++) { + index++; + StockPrintTempEntity stockPrintTempEntity = new StockPrintTempEntity(); + if (stockQRCodeTextPDFTemplateRequest.getOrderId() != null) { + String fileName = stockQRCodeTextPDFTemplateRequest.getOrderId() + "__" + index + "__标签打印" + ".pdf"; + String filePath = dirPath + "\\pdfprint\\" + fileName; + stockPrintTempEntity.setFileName(fileName); + stockPrintTempEntity.setFilePath(filePath); + stockPrintTempEntity.setStockOrderFk(stockQRCodeTextPDFTemplateRequest.getOrderId()); + } else { + String fileName = stockQRCodeTextPDFTemplateRequest.getQueryId() + "__" + index + "__标签打印" + ".pdf"; + String filePath = dirPath + "\\pdfprint\\" + fileName; + stockPrintTempEntity.setFileName(fileName); + stockPrintTempEntity.setFilePath(filePath); + stockPrintTempEntity.setPrintCodeIdFk(stockQRCodeTextPDFTemplateRequest.getQueryId()); + } + stockPrintTempEntity.setStatus(0); + stockPrintTempEntity.setGenKey(CustomUtil.getId()); + stockPrintTempService.insertStockPrintTempEntity(stockPrintTempEntity); + stockPrintTempEntities.add(stockPrintTempEntity); + } + jaspaperService.printPdfLocal(splits, stockPrintTempEntities, systemPDFTemplateEntity.getPath()); + PageInfo pageInfo; + pageInfo = new PageInfo<>(stockPrintTempEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(stockPrintTempEntities); + return ResultVOUtils.success(pageSimpleResponse); + + } else { + Map data = new HashMap(); + data.put("data", printEntities); + JasperUtils.jasperReport(request, response, data, systemPDFTemplateEntity.getPath(), "pdf"); + + + } + for (StockPrintEntity stockPrintEntity : mStockPrintEntities) { + stockPrintEntity.setPrintStatus("102"); + stockPrintService.updateStockPrint(stockPrintEntity); + } + return null; + + } + + @AuthRuleAnnotation("") + @PostMapping("/udiwms/pdf/template/stock/qrcode/text/maxfile") + public BaseResponse stockQRCodeMaxTextPDFFromTemplateFile( + @RequestBody StockQRCodeTextPDFTemplateRequest stockQRCodeTextPDFTemplateRequest + ) throws Exception { SystemPDFModuleEntity systemPDFModuleEntity = systemPDFModuleService.selectById(3 + ""); - if (systemPDFModuleEntity == null) return; + if (systemPDFModuleEntity == null) return null; SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(String.valueOf(systemPDFModuleEntity.getTemplateId())); - if (systemPDFTemplateEntity == null) return; - - StockPrintEntity stockPrintEntity = stockPrintService.selectById(stockQRCodeTextPDFTemplateRequest.getId()); - Map data = new HashMap(); - data.put("data", stockPrintEntity); - JasperUtils.jasperReport(request, response, data, systemPDFTemplateEntity.getPath(), "pdf"); - stockPrintEntity.setPrintStatus("102"); - stockPrintService.updateStockPrint(stockPrintEntity); + if (systemPDFTemplateEntity == null) return null; + List printEntities = new ArrayList<>(); + List mStockPrintEntities = new ArrayList<>(); + FilterStockprintRequest filterStockprintRequest = new FilterStockprintRequest(); + DeleteStPrintTempRequest deleteStPrintTempRequest = new DeleteStPrintTempRequest(); + if (stockQRCodeTextPDFTemplateRequest.getOrderId() != null) { + filterStockprintRequest.setSOrderId(stockQRCodeTextPDFTemplateRequest.getOrderId()); + deleteStPrintTempRequest.setStockOrderFk(stockQRCodeTextPDFTemplateRequest.getOrderId() + ""); + + } else { + deleteStPrintTempRequest.setPrintCodeIdFk(stockQRCodeTextPDFTemplateRequest.getQueryId()); + filterStockprintRequest.setId(stockQRCodeTextPDFTemplateRequest.getQueryId()); + } + stockPrintTempService.deleteById(deleteStPrintTempRequest); + List stockPrintEntities = stockPrintService.filterJoinStockPrint(filterStockprintRequest); + if (stockPrintEntities != null && stockPrintEntities.size() > 0) { + mStockPrintEntities.addAll(stockPrintEntities); + } + for (StockPrintEntity stockPrintEntity : mStockPrintEntities) { + PdfPrintCountEntity pdfPrintCount = getCount(stockQRCodeTextPDFTemplateRequest.getCountList(), stockPrintEntity); + if (pdfPrintCount != null && pdfPrintCount.getRowCount() > 0) { + for (int i = 0; i < pdfPrintCount.getRowCount(); i++) { + StockPrintEntity clone = new StockPrintEntity(); + BeanUtils.copyProperties(stockPrintEntity, clone); + printEntities.add(clone); + } + } else { + printEntities.add(stockPrintEntity); + } + } + + List> splits = CustomUtil.splitList(printEntities, 100); + int index = 0; + List stockPrintTempEntities = new ArrayList<>(); + for (int i = 0; i < splits.size(); i++) { + index++; + StockPrintTempEntity stockPrintTempEntity = new StockPrintTempEntity(); + if (stockQRCodeTextPDFTemplateRequest.getOrderId() != null) { + String fileName = stockQRCodeTextPDFTemplateRequest.getOrderId() + "__" + index + "__标签打印" + ".pdf"; + String filePath = dirPath + "\\pdfprint\\" + fileName; + stockPrintTempEntity.setFileName(fileName); + stockPrintTempEntity.setFilePath(filePath); + stockPrintTempEntity.setStockOrderFk(stockQRCodeTextPDFTemplateRequest.getOrderId()); + } else { + String fileName = stockQRCodeTextPDFTemplateRequest.getQueryId() + "__" + index + "__标签打印" + ".pdf"; + String filePath = dirPath + "\\pdfprint\\" + fileName; + stockPrintTempEntity.setFileName(fileName); + stockPrintTempEntity.setFilePath(filePath); + stockPrintTempEntity.setPrintCodeIdFk(stockQRCodeTextPDFTemplateRequest.getQueryId()); + } + stockPrintTempEntity.setStatus(0); + stockPrintTempEntity.setGenKey(CustomUtil.getId()); + stockPrintTempService.insertStockPrintTempEntity(stockPrintTempEntity); + stockPrintTempEntities.add(stockPrintTempEntity); + } + jaspaperService.printPdfLocal(splits, stockPrintTempEntities, systemPDFTemplateEntity.getPath()); + + + for (StockPrintEntity stockPrintEntity : mStockPrintEntities) { + stockPrintEntity.setPrintStatus("102"); + stockPrintService.updateStockPrint(stockPrintEntity); + } + PageInfo pageInfo; + pageInfo = new PageInfo<>(stockPrintTempEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(stockPrintTempEntities); + return ResultVOUtils.success(pageSimpleResponse); + + } + + @AuthRuleAnnotation("") + @GetMapping("/spms/stock/qrcode/filterTemp") + public BaseResponse filterTemp(FilterStPrintTempRequest filterStPrintTempRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List stockQRCodeTextEntityList + = stockPrintTempService.filterStockPrintTempEntity(filterStPrintTempRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(stockQRCodeTextEntityList); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(stockQRCodeTextEntityList); + return ResultVOUtils.success(pageSimpleResponse); + } + + public PdfPrintCountEntity getCount(List countList, StockPrintEntity stockPrintEntity) { + for (PdfPrintCountEntity pdfPrintCount : countList) { + if (pdfPrintCount.getQueryId().equals(stockPrintEntity.getId() + "")) { + return pdfPrintCount; + } + } + return null; } + //-----------打印订单 + @AuthRuleAnnotation("") @PostMapping("/udiwms/pdf/template/inspection/stock/order/file") public BaseResponse inspectionStockOrderPDFFromTemplateFile( @RequestBody InspectionPDFTemplateRequest inspectionPDFTemplateRequest) throws Exception { @@ -149,60 +339,55 @@ public class StockQRCodeTextController { if (stockOrderEntity == null) { return ResultVOUtils.error(ResultEnum.DATA_NOT, "未找到该订单"); } - - SystemPDFModuleEntity systemPDFModuleEntity = systemPDFModuleService.selectById(2 + ""); - if (systemPDFModuleEntity == null) return ResultVOUtils.error(ResultEnum.DATA_NOT, "所属模块错误"); - SystemPDFTemplateEntity systemPDFTemplateEntity = - systemPDFTemplateService.selectById(String.valueOf(systemPDFModuleEntity.getTemplateId())); - if (systemPDFTemplateEntity == null) return ResultVOUtils.error(ResultEnum.DATA_NOT, "模板错误"); - + SystemPDFTemplateRelevanceRequest systemPDFTemplateRelevanceRequest = new SystemPDFTemplateRelevanceRequest(); + systemPDFTemplateRelevanceRequest.setModuleId(2); + systemPDFTemplateRelevanceRequest.setLocalAction(stockOrderEntity.getBillType()); + List systemPDFTemplateRelevanceResponses = systemPDFTemplateRelevanceService.filterList(systemPDFTemplateRelevanceRequest); + if (systemPDFTemplateRelevanceResponses.isEmpty()) { + return ResultVOUtils.error(ResultEnum.DATA_NOT, "所属模块错误"); + } else { + SystemPDFTemplateRelevanceResponse systemPDFTemplateRelevanceResponse = systemPDFTemplateRelevanceResponses.get(0); + SystemPDFTemplateEntity systemPDFTemplateEntity = + systemPDFTemplateService.selectById(String.valueOf(systemPDFTemplateRelevanceResponse.getTemplateId())); + if (systemPDFTemplateEntity == null) return ResultVOUtils.error(ResultEnum.DATA_NOT, "模板错误"); + } return ResultVOUtils.success(); } + @AuthRuleAnnotation("") @PostMapping("/udiwms/pdf/template/stock/order/file") public void stockOrderPDFFromTemplateFile( @RequestBody StockQRCodeTextPDFTemplateRequest stockQRCodeTextPDFTemplateRequest, HttpServletRequest request, HttpServletResponse response) throws Exception { - - /* - StockOrderEntity stockOrderEntity = - stockOrderService.findById(stockQRCodeTextPDFTemplateRequest.getId()); - if (stockOrderEntity == null) { - return; - } - - SystemPDFModuleEntity systemPDFModuleEntity = systemPDFModuleService.selectById(2 + ""); - if (systemPDFModuleEntity == null) return; - SystemPDFTemplateEntity systemPDFTemplateEntity = - systemPDFTemplateService.selectById(String.valueOf(systemPDFModuleEntity.getTemplateId())); - if (systemPDFTemplateEntity == null) return; - stockQRCodeTextPDFTemplateRequest.setPath(systemPDFTemplateEntity.getPath()); - stockQRCodeTextPDFTemplateRequest.setRowCount(systemPDFTemplateEntity.getRowCount()); - stockQRCodeTextPDFTemplateRequest.setQrcodeCount(systemPDFTemplateEntity.getQrcodeCount()); - //----------------------------------------------- - stockQRCodeTextPDFTemplateRequest.setOrderId(stockOrderEntity.getId()); - - stockQRCodeTextPDFTemplateRequest.setBillNo(stockOrderEntity.getBillNo()); - BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(stockOrderEntity.getBillType()); - stockQRCodeTextPDFTemplateRequest.setActionName(bussinessTypeEntity == null ? " " : bussinessTypeEntity.getName()); - - StockOrderDetailFilterRequest stockOrderDetailFilterRequest = new StockOrderDetailFilterRequest(); - stockOrderDetailFilterRequest.setOrderIdFk(stockOrderEntity.getId()); - List stockOrderDetailEntityList = stockOrderDetailService.filterStockOrderDetail(stockOrderDetailFilterRequest); - - ITextPDFUtils.exportStockOrderPDFFromTemplateFile( - stockQRCodeTextPDFTemplateRequest, stockOrderEntity, stockOrderDetailEntityList, request, response); - */ /*打印订单*/ List list = stockOrderService.listOrderPrint(stockQRCodeTextPDFTemplateRequest.getId()); if (list != null && list.size() > 0) { - + int index = 1; + for (StockOrderPrintEntity stockOrderPrintEntity : list) { + stockOrderPrintEntity.setIndex(index + ""); + stockOrderPrintEntity.setTitle(stockOrderPrintEntity.getCorpName()); +// StockOrderPrintResponse stockOrderPrintResponse = new StockOrderPrintResponse(); +// BeanUtils.copyProperties(stockOrderPrintEntity, stockOrderPrintResponse); +// stockOrderPrintResponse.setPrice(stockOrderPrintEntity.getPrice()); +// stockOrderPrintResponse.setTotalPrice(stockOrderPrintEntity.getTotalPrice()); +// stockOrderPrintEntity.setAmount(BigDecimal.valueOf(85.36)); +// stockOrderPrintEntity.setTotalPrice(BigDecimal.valueOf(1888.88)); +// stockOrderPrintEntity.setTotalPriceWord("18888"); +// stockOrderPrintEntity.setCorpName(companyEntity.getCompanyName()); + stockOrderPrintEntity.setOrderName(stockQRCodeTextPDFTemplateRequest.getOrderName()); + index++; +// stockOrderPrintResponses.add(stockOrderPrintResponse); + } SystemPDFModuleEntity systemPDFModuleEntity = systemPDFModuleService.selectById(2 + ""); - if (systemPDFModuleEntity == null) return; + SystemPDFTemplateRelevanceRequest systemPDFTemplateRelevanceRequest = new SystemPDFTemplateRelevanceRequest(); + systemPDFTemplateRelevanceRequest.setModuleId(systemPDFModuleEntity.getId()); + systemPDFTemplateRelevanceRequest.setLocalAction(list.get(0).getBillType()); + List systemPDFTemplateRelevanceResponses = systemPDFTemplateRelevanceService.filterList(systemPDFTemplateRelevanceRequest); + if (systemPDFTemplateRelevanceResponses == null || systemPDFTemplateRelevanceResponses.size() < 1) return; SystemPDFTemplateEntity systemPDFTemplateEntity = - systemPDFTemplateService.selectById(String.valueOf(systemPDFModuleEntity.getTemplateId())); + systemPDFTemplateService.selectById(String.valueOf(systemPDFTemplateRelevanceResponses.get(0).getTemplateId())); if (systemPDFTemplateEntity == null) return; Map data = new HashMap(); data.put("data", list); @@ -216,7 +401,7 @@ public class StockQRCodeTextController { } } - + @AuthRuleAnnotation("") @GetMapping(value = "/udiwms/stock/qrcode/text/upload") public BaseResponse upload(StockQRCodeTextFilterRequest stockQRCodeTextFilterRequest, BindingResult bindingResult) { @@ -232,6 +417,7 @@ public class StockQRCodeTextController { return ResultVOUtils.error(500, "修改失败"); } + @AuthRuleAnnotation("") @PostMapping("/udiwms/stock/qrcode/text/delete") public BaseResponse delete(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) { diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/info/SystemParamConfigController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/info/SystemParamConfigController.java index 2586b333..10b11ccc 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/info/SystemParamConfigController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/info/SystemParamConfigController.java @@ -110,7 +110,10 @@ public class SystemParamConfigController { //出入库新增单据校验 if (systemParamConfigSaveRequest.getParamKey().equals("io_transInout_interval")) { try { - int time = Integer.parseInt(systemParamConfigSaveRequest.getParamValue()); + int time = 5; + if (!"0".equals(systemParamConfigSaveRequest.getParamValue())) { + time = Integer.parseInt(systemParamConfigSaveRequest.getParamValue()); + } String cronStr = CronUtils.parseMinuteIntervel(time); ScheduledEntity scheduledEntity = new ScheduledEntity(); scheduledEntity.setCron(cronStr); @@ -121,7 +124,10 @@ public class SystemParamConfigController { } } else if (systemParamConfigSaveRequest.getParamKey().equals("io_erpcheck_interval")) { try { - int time = Integer.parseInt(systemParamConfigSaveRequest.getParamValue()); + int time = 5; + if (!"0".equals(systemParamConfigSaveRequest.getParamValue())) { + time = Integer.parseInt(systemParamConfigSaveRequest.getParamValue()); + } String cronStr = CronUtils.parseMinuteIntervel(time); ScheduledEntity scheduledEntity = new ScheduledEntity(); scheduledEntity.setCron(cronStr); @@ -130,6 +136,20 @@ public class SystemParamConfigController { } catch (Exception e) { return ResultVOUtils.error(500, "格式错误!"); } + } else if (systemParamConfigSaveRequest.getParamKey().equals("supplement_order_interval")) { + try { + int time = 5; + if (!"0".equals(systemParamConfigSaveRequest.getParamValue())) { + time = Integer.parseInt(systemParamConfigSaveRequest.getParamValue()); + } + String cornStr = CronUtils.parseMinuteIntervel(time); + ScheduledEntity scheduledEntity = new ScheduledEntity(); + scheduledEntity.setCron(cornStr); + scheduledEntity.setCronName("supplementOrderTask"); + scheduledDao.modifyScheduled(scheduledEntity); + } catch (Exception e) { + return ResultVOUtils.error(500, "格式错误!"); + } } diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/inout/OrderController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/inout/OrderController.java index 13bb39da..86b0e4fd 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/inout/OrderController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/inout/OrderController.java @@ -1,11 +1,15 @@ package com.glxp.api.admin.controller.inout; +import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageInfo; +import com.glxp.api.admin.annotation.AuthRuleAnnotation; import com.glxp.api.admin.constant.ConstantStatus; import com.glxp.api.admin.controller.inout.utils.ContrastErpUtil; import com.glxp.api.admin.controller.inout.utils.InoutUtils; import com.glxp.api.admin.entity.basic.BasicThirdSysDetailEntity; import com.glxp.api.admin.entity.basic.BussinessTypeEntity; +import com.glxp.api.admin.entity.basic.UdiEntity; +import com.glxp.api.admin.entity.business.StockOrderEntity; import com.glxp.api.admin.entity.info.SystemParamConfigEntity; import com.glxp.api.admin.httpclient.ErpOrderClient; import com.glxp.api.admin.entity.inout.OrderEntity; @@ -15,24 +19,27 @@ import com.glxp.api.admin.entity.inout.FilterErpOrderRequest; import com.glxp.api.admin.req.inout.*; import com.glxp.api.admin.res.PageSimpleResponse; import com.glxp.api.admin.res.basic.BussinessTypResponse; +import com.glxp.api.admin.service.auth.CustomerService; import com.glxp.api.admin.service.basic.BussinessTypeService; import com.glxp.api.admin.service.basic.UdiInfoService; import com.glxp.api.admin.service.basic.UdiRelevanceService; +import com.glxp.api.admin.service.business.StockOrderService; +import com.glxp.api.admin.service.info.CompanyService; import com.glxp.api.admin.service.info.SystemParamConfigService; import com.glxp.api.admin.service.inout.CodesTempService; import com.glxp.api.admin.service.inout.OrderDetailService; import com.glxp.api.admin.service.inout.OrderService; import com.glxp.api.admin.service.inout.CodesService; import com.glxp.api.admin.service.thrsys.ThrOrderService; +import com.glxp.api.admin.thread.InvProductsTrService; +import com.glxp.api.admin.thread.IoTransInoutService; +import com.glxp.api.admin.util.FilterUdiUtils; import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.validation.BindingResult; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.validation.Valid; @@ -48,7 +55,7 @@ public class OrderController { @Resource private OrderService orderService; @Resource - private CodesService warehouseService; + private CodesService codesService; @Resource private CodesTempService codesTempService; @Resource @@ -66,7 +73,44 @@ public class OrderController { @Resource InoutUtils inoutUtils; + @Resource + private OrderDetailService orderDetailService; + @Resource + IoTransInoutService ioTransInoutService; + @Resource + StockOrderService stockOrderService; + @Resource + InvProductsTrService invProductsTrService; + @Resource + CompanyService companyService; + @Value("${file_path}") + private String filePath; + + @Resource + CustomerService customerService; + + + @AuthRuleAnnotation("") + @GetMapping("udiwms/inout/order/getUdi") + public BaseResponse getUdi(@RequestParam("code") String code) { + UdiEntity udiEntity = FilterUdiUtils.getUdi(code); + if (udiEntity == null) return ResultVOUtils.error(ResultEnum.NOT_NETWORK); + return ResultVOUtils.success(udiEntity); + } + + @AuthRuleAnnotation("") @GetMapping("udiwms/inout/order/status") + public BaseResponse listOrderByStatus(OrderFilterRequest orderFilterRequest) { + List orderEntityList = orderService.filterList(orderFilterRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(orderEntityList); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(orderEntityList); + return ResultVOUtils.success(pageSimpleResponse); + } + + @GetMapping("udiwms/inout/order/error") public BaseResponse listOrderError(OrderFilterRequest orderFilterRequest) { List orderEntityList = orderService.filterList(orderFilterRequest); PageInfo pageInfo; @@ -110,7 +154,7 @@ public class OrderController { } orderService.updateUnit(orderEntity); - warehouseService.updateUnit(orderEntity.getId(), orderEntity.getFromCorpId(), orderEntity.getFromCorp()); + codesService.updateUnit(orderEntity.getId(), orderEntity.getFromCorpId(), orderEntity.getFromCorp()); return ResultVOUtils.success("添加成功"); } @@ -122,14 +166,17 @@ public class OrderController { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } List orderEntityList; + if (orderFilterRequest.getStatus() == null || orderFilterRequest.getStatus() == 0) { + orderFilterRequest.setStatus(4); + } if (orderFilterRequest.getCode() != null && !orderFilterRequest.getCode().equals("")) { - List warehouseEntityList = warehouseService.findByCode(orderFilterRequest.getCode()); + List warehouseEntityList = codesService.findByCode(orderFilterRequest.getCode()); orderEntityList = orderService.filterListByCode(warehouseEntityList); } else { - orderEntityList = orderService.filterList(orderFilterRequest); + orderEntityList = orderService.filterListOr(orderFilterRequest); } PageInfo pageInfo; - pageInfo = new PageInfo<>(orderEntityList); + pageInfo = new PageInfo<>(orderEntityList);//TODO 已完成单据列表 PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); pageSimpleResponse.setTotal(pageInfo.getTotal()); pageSimpleResponse.setList(orderEntityList); @@ -143,7 +190,7 @@ public class OrderController { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } - List warehouseEntityList = warehouseService.findByCode(orderFilterByCodeRequest.getCode()); + List warehouseEntityList = codesService.findByCode(orderFilterByCodeRequest.getCode()); List orderEntityList = orderService.filterListByCode(warehouseEntityList); PageInfo pageInfo; pageInfo = new PageInfo<>(orderEntityList); @@ -153,6 +200,48 @@ public class OrderController { return ResultVOUtils.success(pageSimpleResponse); } + + //手持终端下载订单校验 + @AuthRuleAnnotation("") + @GetMapping("/udiwms/inout/order/download") + public BaseResponse downloadOrder(OrderFilterRequest orderFilterRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(orderFilterRequest.getAction()); + StockOrderEntity stockOrderEntity = stockOrderService.findByBillNo(orderFilterRequest.getOrderId()); + if (stockOrderEntity == null || stockOrderEntity.getOrderIdFk() == null) { + return ResultVOUtils.error(500, "单据未找到!"); + } else if (!bussinessTypeEntity.getLocalAction().equals(stockOrderEntity.getBillType())) { + return ResultVOUtils.error(500, "非" + bussinessTypeEntity.getName() + "类型单据!"); + } else + orderFilterRequest.setId(stockOrderEntity.getOrderIdFk()); + if (orderFilterRequest.getOrderId() == null || "".equals(orderFilterRequest.getOrderId())) { + orderFilterRequest.setId(null); + } + List orderEntityList; + if (orderFilterRequest.getStatus() == null || orderFilterRequest.getStatus() == 0) { + orderFilterRequest.setStatus(4); + orderFilterRequest.setContrastStatus(2); +// orderFilterRequest.setReceiveStatus(0); +// orderFilterRequest.setStatusOrOne(3); + } + if (orderFilterRequest.getCode() != null && !orderFilterRequest.getCode().equals("")) { + List warehouseEntityList = codesService.findByCode(orderFilterRequest.getCode()); + orderEntityList = orderService.filterListByCode(warehouseEntityList); + } else { + orderEntityList = orderService.filterListOr(orderFilterRequest); + } + PageInfo pageInfo; + pageInfo = new PageInfo<>(orderEntityList);//TODO 已完成单据列表 + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(orderEntityList); + return ResultVOUtils.success(pageSimpleResponse); + } + @PostMapping("/udiwms/inout/order/updateExportStatus") public BaseResponse updateExportStatus(@RequestBody UpdateExportStatusRequest updateExportStatusRequest, BindingResult bindingResult) { @@ -167,113 +256,38 @@ public class OrderController { return ResultVOUtils.success("更新成功"); } -// @PostMapping("/warehouse/inout/order/mergeOrder") -// public BaseResponse mergeOrder(@RequestBody OrderMergeRequest orderMergeRequest, BindingResult bindingResult) { -// -// if (bindingResult.hasErrors()) { -// return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); -// } -// -// List orderList = orderMergeRequest.getOrderList(); -// List mergeList = new ArrayList<>(); -// if (orderList != null && orderList.size() > 1) { -// for (String orderId : orderList) { -// FilterErpOrderRequest filterErpOrderRequest = new FilterErpOrderRequest(); -// filterErpOrderRequest.setOrderId(orderId); -// OrderEntity orderEntity = orderService.findById(orderId); -// if (orderEntity != null) { -// mergeList.add(orderEntity); -// } -// myErpOrderService.deleteByOrderId(orderId); -// -// } -// String mainOrder = orderList.get(0); -// for (int i = 1; i < orderList.size(); i++) { -// warehouseService.updateOrderId(orderList.get(i), mainOrder); -// orderService.deleteByOrderId(orderList.get(i)); -// } -// OrderEntity mainOrderEntity = orderService.findById(mainOrder); -// BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(mainOrderEntity.getAction()); -// List docids = getDocids(mergeList); -// String docidStr = ""; -// if (docids != null && docids.size() > 0) { -// for (String temp : docids) { -// docidStr = docidStr + "," + temp; -// } -// docidStr = docidStr.substring(1); -// } -// mainOrderEntity.setErpFk(docidStr); -// orderService.updateOrder(mainOrderEntity); -// if (docidStr.length() > 0) { -// BasicThirdSysDetailEntity basicThirdSysDetailEntity = bussinessTypeService.findByActionKey(mainOrderEntity.getAction(), "orderQueryUrl"); -// if (basicThirdSysDetailEntity == null) { -// return ResultVOUtils.error(500, "ERP出入库单据查询接口地址未定义"); -// } -// List erpOrderEntities = null; -// if (basicThirdSysDetailEntity.getEnabled()) { -// if (basicThirdSysDetailEntity.getFromType() == 0) { -// erpOrderEntities = new ErpOrderClient(basicThirdSysDetailEntity.getValue()).getErpOrder(docids, mainOrderEntity.getAction()); -// } else { -// erpOrderEntities = thrOrderService.filterAllOrders(docids, basicThirdSysDetailEntity.getThirdSysFk()); -// } -// } else { -// return ResultVOUtils.error(500, "第三方业务单据服务未启用!"); -// } -// -// if (erpOrderEntities != null && erpOrderEntities.size() > 0) { -// List returnOrders = new ContrastErpUtil().transErp(erpOrderEntities, udiRelevanceService, mainOrder,bussinessTypeEntity); -// myErpOrderService.insertErpOrders(returnOrders); -// List warehouseEntityList = warehouseService.findByReceiptId(mainOrder); -// new ContrastErpUtil().contrastErp(udiInfoService, udiRelevanceService, myErpOrderService, -// orderService, warehouseEntityList, systemParamConfigService, erpOrderEntities); -// } else { -// mainOrderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_FAIL); -// mainOrderEntity.setRemark("获取ERP单失败"); -// orderService.updateOrder(mainOrderEntity); -// List datas = warehouseService.findByReceiptId(mainOrder); -// inoutUtils.generateConstrastDetail(udiInfoService, udiRelevanceService, myErpOrderService, datas); -// return ResultVOUtils.error(500, "获取ERP单失败"); -// } -// } else { -// new Thread(() -> { -// List datas = warehouseService.findByReceiptId(mainOrder); -// inoutUtils.generateConstrastDetail(udiInfoService, udiRelevanceService, myErpOrderService, datas); -// }).start(); -// } -// -// } else { -// return ResultVOUtils.error(ResultEnum.DATA_ERROR); -// } -// -// -// return ResultVOUtils.success("合并成功,后台正在数据转换,请稍后刷新重试!"); -// } @PostMapping("/warehouse/inout/order/mergeOrder") public BaseResponse mergeOrders(@RequestBody OrderMergeRequest orderMergeRequest, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } List orderList = orderMergeRequest.getOrderList(); - List mergeList = new ArrayList<>(); + + List mergeList = new ArrayList<>(); if (orderList != null && orderList.size() > 1) { for (String orderId : orderList) { + OrderEntity orderEntity = orderService.findById(orderId); + if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_SUCCESS) { + return ResultVOUtils.error(500, "已完成的订单不能合并!"); + } FilterErpOrderRequest filterErpOrderRequest = new FilterErpOrderRequest(); filterErpOrderRequest.setOrderId(orderId); - OrderEntity orderEntity = orderService.findById(orderId); - if (orderEntity != null) { - mergeList.add(orderEntity); + List erpOrderEntities = orderDetailService.filterAllMyErpOrder(filterErpOrderRequest); + if (erpOrderEntities != null && erpOrderEntities.size() > 0) { + mergeList.addAll(erpOrderEntities); } - myErpOrderService.deleteByOrderId(orderId); } + for (String orderId : orderList) { + orderDetailService.deleteByOrderId(orderId); + } String mainOrder = orderList.get(0); for (int i = 1; i < orderList.size(); i++) { - warehouseService.updateOrderId(orderList.get(i), mainOrder); + codesService.updateOrderId(orderList.get(i), mainOrder); codesTempService.updateOrderId(orderList.get(i), mainOrder); - orderService.deleteByOrderId(orderList.get(i)); + orderService.deleteById(orderList.get(i)); } OrderEntity mainOrderEntity = orderService.findById(mainOrder); List docids = getDocids(mergeList); @@ -286,6 +300,7 @@ public class OrderController { } mainOrderEntity.setErpFk(docidStr); orderService.updateOrder(mainOrderEntity); +// ioTransInoutService.transStatus(mainOrderEntity.getId()); } else { return ResultVOUtils.error(ResultEnum.DATA_ERROR); } @@ -293,24 +308,31 @@ public class OrderController { } - public List getDocids(List mergeList) { + public List getDocids(List mergeList) { List docids = new ArrayList<>(); - for (int i = 0; i < mergeList.size(); i++) { - OrderEntity orderEntity = mergeList.get(i); - if (orderEntity.getErpFk() != null && !"".equals(orderEntity.getErpFk())) { - String[] erpFks = orderEntity.getErpFk().split(","); - if (erpFks.length > 0) { - for (int j = 0; j < erpFks.length; j++) { - docids.add(erpFks[j]); - } - } - } + Map> mapErps = mergeList.stream().collect(Collectors.groupingBy(ErpOrderEntity::getErpOrderId)); + for (String key : mapErps.keySet()) { + docids.add(key); } - if (docids.size() > 1) { - return new ArrayList<>(new TreeSet<>(docids)); - } else - return docids; + return docids; + } + + /** + * 补单 + * + * @param billNo 单据号 + * @return + */ + @AuthRuleAnnotation("") + @GetMapping("/udiwms/stock/order/supplementOrder") + public BaseResponse supplementOrder(@RequestParam("billNo") String billNo) { + if (StrUtil.isBlank(billNo)) { + return ResultVOUtils.error(ResultEnum.DATA_ERROR); + } + + StockOrderEntity stockOrderEntity = stockOrderService.findByBillNo(billNo); + return orderService.supplementOrder(stockOrderEntity.getBillNo(), stockOrderEntity.getOrderIdFk()); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/inout/OrderDetailController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/inout/OrderDetailController.java index 6caa7099..c0e9dd49 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/inout/OrderDetailController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/inout/OrderDetailController.java @@ -1,6 +1,7 @@ package com.glxp.api.admin.controller.inout; import com.github.pagehelper.PageInfo; +import com.glxp.api.admin.annotation.AuthRuleAnnotation; import com.glxp.api.admin.constant.ConstantStatus; import com.glxp.api.admin.controller.inout.utils.ContrastErpUtil; import com.glxp.api.admin.entity.basic.BasicThirdSysDetailEntity; @@ -9,6 +10,7 @@ import com.glxp.api.admin.entity.basic.BussinessTypeEntity; import com.glxp.api.admin.entity.basic.UdiRelevanceEntity; import com.glxp.api.admin.entity.business.StockOrderDetailEntity; import com.glxp.api.admin.entity.business.StockOrderEntity; +import com.glxp.api.admin.entity.info.CompanyEntity; import com.glxp.api.admin.entity.inout.*; import com.glxp.api.admin.entity.thrsys.ThrOrderDetailEntity; import com.glxp.api.admin.entity.thrsys.ThrOrderEntity; @@ -86,6 +88,55 @@ public class OrderDetailController { @Resource BussinessOriginTypeService bussinessOriginTypeService; + @AuthRuleAnnotation("") + @GetMapping("/spms/erpOrder/filter") + public BaseResponse filterSpmsOrder(FilterOrderRequest filterErpOrderRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + FilterThrOrderRequest filterThrOrderRequest = new FilterThrOrderRequest(); + BeanUtils.copyProperties(filterErpOrderRequest, filterThrOrderRequest); + filterThrOrderRequest.setPage(filterErpOrderRequest.getPage()); + filterThrOrderRequest.setLimit(filterErpOrderRequest.getLimit()); + +// filterErpOrderRequest.setBillAction(filterErpOrderRequest.getOriginType()); + + List erpOrderResponses = new ArrayList<>(); + List data = thrOrderService.filterThrOrder(filterThrOrderRequest); + if (data != null && data.size() > 0) { + for (ThrOrderEntity thrOrderEntity : data) { + FilterThrOrderDetailRequest filterThrOrderDetailRequest = new FilterThrOrderDetailRequest(); + filterThrOrderDetailRequest.setOrderIdFk(thrOrderEntity.getId() + ""); + List thrOrderDetailEntities = + thrOrderDetailService.filterThrOrderDetailDetail(filterThrOrderDetailRequest); + ErpOrderResponse erpOrderResponse = new ErpOrderResponse(); + BeanUtils.copyProperties(thrOrderEntity, erpOrderResponse); + List subErpOrders = new ArrayList<>(); + if (thrOrderDetailEntities != null && thrOrderDetailEntities.size() > 0) { + for (ThrOrderDetailEntity thrOrderDetailEntity : thrOrderDetailEntities) { + ErpOrderResponse.SubErpOrder subErpOrder = new ErpOrderResponse.SubErpOrder(); + BeanUtils.copyProperties(thrOrderDetailEntity, subErpOrder); + subErpOrder.setCount(thrOrderDetailEntity.getCount() + ""); + subErpOrder.setReCount(thrOrderDetailEntity.getReCount() + ""); + subErpOrders.add(subErpOrder); + } + } + erpOrderResponse.setSubErpOrders(subErpOrders); + erpOrderResponses.add(erpOrderResponse); + } + } + PageInfo pageInfo; + pageInfo = new PageInfo<>(data); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(erpOrderResponses); + return ResultVOUtils.success(pageSimpleResponse); +// } + } + + //查询本地单据和第三方单据 @GetMapping("/udiwms/erpOrder/filter") public BaseResponse filterErpOrder(FilterOrderRequest filterErpOrderRequest, diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/inout/WareHouseController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/inout/WareHouseController.java index ebb6ac48..823ba334 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/inout/WareHouseController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/inout/WareHouseController.java @@ -1,20 +1,27 @@ package com.glxp.api.admin.controller.inout; +import cn.hutool.core.util.StrUtil; +import cn.hutool.json.JSONUtil; import com.alibaba.fastjson.JSON; import com.github.pagehelper.PageInfo; +import com.glxp.api.admin.annotation.AuthRuleAnnotation; import com.glxp.api.admin.constant.Constant; import com.glxp.api.admin.constant.ConstantStatus; +import com.glxp.api.admin.entity.auth.AuthAdmin; import com.glxp.api.admin.entity.basic.BussinessTypeEntity; import com.glxp.api.admin.entity.basic.UdiEntity; import com.glxp.api.admin.entity.inout.OrderEntity; import com.glxp.api.admin.entity.inout.WarehouseEntity; import com.glxp.api.admin.req.inout.*; import com.glxp.api.admin.res.PageSimpleResponse; +import com.glxp.api.admin.res.basic.BussinessTypResponse; import com.glxp.api.admin.res.inout.WarehouseResponse; +import com.glxp.api.admin.service.auth.AuthAdminService; +import com.glxp.api.admin.service.auth.CustomerService; +import com.glxp.api.admin.service.basic.BasicUnitMaintainService; import com.glxp.api.admin.service.basic.BussinessTypeService; -import com.glxp.api.admin.service.inout.CodesTempService; -import com.glxp.api.admin.service.inout.CodesService; -import com.glxp.api.admin.service.inout.OrderService; +import com.glxp.api.admin.service.info.CompanyService; +import com.glxp.api.admin.service.inout.*; import com.glxp.api.admin.thread.IoTransInoutService; import com.glxp.api.admin.util.DateUtil; import com.glxp.api.admin.util.FileUtils; @@ -29,18 +36,16 @@ import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import javax.validation.Valid; import java.io.IOException; import java.io.InputStream; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Random; +import java.util.*; import java.util.stream.Collectors; @RestController public class WareHouseController { @Resource - private CodesService warehouseService; + private CodesService codesService; @Resource private IoTransInoutService transInoutService; @Resource @@ -50,6 +55,40 @@ public class WareHouseController { @Resource private OrderService orderService; + + @Resource + private IoTransInoutService ioTransInoutService; + @Resource + CompanyService companyService; + @Resource + AuthAdminService authAdminService; + @Resource + BasicUnitMaintainService basicUnitMaintainService; + @Resource + private WarehouseUserService warehouseUserService; + @Resource + private WarehouseBussinessTypeService warehouseBussinessTypeService; + @Resource + CustomerService customerService; + + @AuthRuleAnnotation("") + @GetMapping("admin/warehouse/inout/list") + public BaseResponse list(WarehouseQueryRequest warehouseQueryRequest) { + List warehouseEntityList = codesService.listWarehouse(warehouseQueryRequest); + List warehouseResponses = warehouseEntityList.stream().map(item -> + { + WarehouseResponse warehouseResponse = new WarehouseResponse(); + BeanUtils.copyProperties(item, warehouseResponse); + return warehouseResponse; + }).collect(Collectors.toList()); + PageInfo pageInfo; + pageInfo = new PageInfo<>(warehouseEntityList); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(warehouseResponses); + return ResultVOUtils.success(pageSimpleResponse); + } + @PostMapping("/warehouse/inout/code/deleteCodes") public BaseResponse deleteCodes(@RequestBody DeleteCodeRequest deleteCodeRequest, BindingResult bindingResult) { @@ -68,7 +107,7 @@ public class WareHouseController { @GetMapping("admin/warehouse/inout/findByNo") public BaseResponse findByNo(WarehouseQueryRequest warehouseQueryRequest) { - List warehouseEntityList = warehouseService.findByNo(warehouseQueryRequest); + List warehouseEntityList = codesService.findByNo(warehouseQueryRequest); List warehouseResponses = warehouseEntityList.stream().map(item -> { WarehouseResponse warehouseResponse = new WarehouseResponse(); @@ -85,7 +124,7 @@ public class WareHouseController { @GetMapping("admin/warehouse/inout/findByOrderId") public BaseResponse findByOrderId(WarehouseQueryRequest warehouseQueryRequest) { - List warehouseEntityList = warehouseService.findByOrderId(warehouseQueryRequest); + List warehouseEntityList = codesService.findByOrderId(warehouseQueryRequest); List warehouseResponses = warehouseEntityList.stream().map(item -> { WarehouseResponse warehouseResponse = new WarehouseResponse(); @@ -100,9 +139,100 @@ public class WareHouseController { return ResultVOUtils.success(pageSimpleResponse); } + @AuthRuleAnnotation("") + @GetMapping("spms/inout/dlcode/findByOrderId") + public BaseResponse downloadCodesByOrderId(WarehouseQueryRequest warehouseQueryRequest) { + List warehouseEntityList = codesService.findByOrderId(warehouseQueryRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(warehouseEntityList); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(warehouseEntityList); + return ResultVOUtils.success(pageSimpleResponse); + } + + + @AuthRuleAnnotation("") + @PostMapping("/warehouse/inout/commit")//TODO 重新提交 + public BaseResponse commitOrder(@RequestBody CommitRequest commitRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + ioTransInoutService.repeatCommit(commitRequest); + return ResultVOUtils.success("提交成功"); + } + + @AuthRuleAnnotation("") + @GetMapping("warehouse/inout/submitOrderWeb") + public BaseResponse submitOrderWeb(AddOrderRequest orderEntity) { + orderService.updateOrderStatus(orderEntity.getOrderId(), ConstantStatus.ORDER_STATUS_PROCESS); + return saveOrderWeb(orderEntity); +// return ResultVOUtils.success(); + } + + @AuthRuleAnnotation("") + @PostMapping("warehouse/inout/saveOrderWeb") + public BaseResponse saveOrderWeb(@RequestBody AddOrderRequest addOrderRequest) { + OrderEntity orderEntity1 = new OrderEntity(); + orderEntity1.setId(addOrderRequest.getOrderId()); + BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(addOrderRequest.getAction()); + orderEntity1.setAction(addOrderRequest.getAction()); + orderEntity1.setMainAction(bussinessTypeEntity.getMainAction()); + orderEntity1.setFromCorp(addOrderRequest.getFromCorp()); + orderEntity1.setFromCorpId(addOrderRequest.getFromCorpId()); + orderEntity1.setLocStorageCode(addOrderRequest.getLocStorageCode()); + orderService.updateOrder(orderEntity1); + return ResultVOUtils.success(); + } + + @AuthRuleAnnotation("") + @PostMapping("/admin/warehouse/inout/save") + public BaseResponse save(@RequestBody @Valid WarehouseSaveRequest warehouseSaveRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + WarehouseEntity warehouseEntity = new WarehouseEntity(); + BeanUtils.copyProperties(warehouseSaveRequest, warehouseEntity); + + boolean b = codesService.insertWarehouse(warehouseEntity); + if (!b) { + return ResultVOUtils.error(ResultEnum.NOT_NETWORK); + } + + return ResultVOUtils.success("添加成功"); + } + + @AuthRuleAnnotation("") + @GetMapping("warehouse/inout/deleteCodesTempById") + public BaseResponse deleteCodesTempById(@RequestParam("id") Long id) { + WarehouseEntity warehouseEntity = new WarehouseEntity(); + warehouseEntity.setId(id); + codesTempService.deleteCodesTempById(warehouseEntity); + return ResultVOUtils.success(); + } + + @AuthRuleAnnotation("") + @PostMapping("/warehouse/inout/addCommit")//补录提交 + public BaseResponse addCommitOrder(@RequestBody CommitRequest commitRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + + } + OrderEntity orderEntity = orderService.findById(commitRequest.getOrderId()); + orderEntity.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); + orderService.updateOrder(orderEntity); + return ResultVOUtils.success("提交成功"); + } + @GetMapping("admin/warehouse/inout/findAllByOrderId") public BaseResponse findAllByOrderId(WarehouseQueryRequest warehouseQueryRequest) { - List warehouseEntityList = warehouseService.findAllByOrderId(warehouseQueryRequest); + List warehouseEntityList = codesService.findAllByOrderId(warehouseQueryRequest); List warehouseResponses = warehouseEntityList.stream().map(item -> { WarehouseResponse warehouseResponse = new WarehouseResponse(); @@ -183,19 +313,6 @@ public class WareHouseController { return ResultVOUtils.success("导入成功"); } - //单据立即提交校验 - @PostMapping("/warehouse/inout/commit") - public BaseResponse commitOrder(@RequestBody CommitRequest commitRequest, - BindingResult bindingResult) { - - if (bindingResult.hasErrors()) { - return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); - } - transInoutService.repeatCommit(commitRequest); - return ResultVOUtils.success("提交成功,后台已开启重码校验,请稍后刷新查看!"); - - } - //网页端数据上传调用接口 @PostMapping("warehouse/inout/addOrderWeb") public BaseResponse addOrderWeb(@RequestBody AddOrderRequest addOrderRequest, BindingResult bindingResult) { @@ -277,6 +394,7 @@ public class WareHouseController { } //网页端数据上传调用接口 + @AuthRuleAnnotation("") @PostMapping("warehouse/inout/postOrdersWeb") public BaseResponse postOrdersWeb(@RequestBody PostOrderRequest postOrderRequest, BindingResult bindingResult) { @@ -284,7 +402,9 @@ public class WareHouseController { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } try { - transInoutService.creatOrderWeb(postOrderRequest); + Integer userId = customerService.getUserId(); + postOrderRequest.setUserId(userId); + ioTransInoutService.creatOrderWeb(postOrderRequest); } catch (Exception e) { return ResultVOUtils.error(ResultEnum.NOT_NETWORK); } @@ -314,11 +434,64 @@ public class WareHouseController { } - @GetMapping("warehouse/inout/submitOrderWeb") - public BaseResponse submitOrderWeb(@RequestParam("orderId") String orderId) { - orderService.updateOrderStatus(orderId, ConstantStatus.ORDER_STATUS_PROCESS); +// @GetMapping("warehouse/inout/submitOrderWeb") +// public BaseResponse submitOrderWeb(@RequestParam("orderId") String orderId) { +// orderService.updateOrderStatus(orderId, ConstantStatus.ORDER_STATUS_PROCESS); +// return ResultVOUtils.success(); +// } + + + /** + * 根据仓位码获取关联用户数据 + * + * @param code + * @return + */ + @AuthRuleAnnotation("") + @GetMapping("/warehouse/inout/warehouseUserList") + public BaseResponse getWarehouseUserList(String code) { + if (StringUtils.isBlank(code)) + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + return ResultVOUtils.success(warehouseUserService.getListByCode(code)); + } + + @AuthRuleAnnotation("") + @GetMapping("/warehouse/inout/warehouseBussniessTypeList") + public BaseResponse getWarehouseBussniessTypeList(String code) { + if (StrUtil.isBlank(code)) + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + return ResultVOUtils.success(warehouseBussinessTypeService.getListByCode(code)); + } + + @AuthRuleAnnotation("") + @PostMapping("/warehouse/inout/saveWarehouseUser") + public BaseResponse saveWarehouseUser(@RequestBody Map params) { + String code = String.valueOf(params.get("code")); + String userListJson = String.valueOf(params.get("userList")); + if (StrUtil.isBlank(code) || StrUtil.isBlank(userListJson)) + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + warehouseUserService.saveWarehouseUser(code, JSONUtil.toList(userListJson, AuthAdmin.class)); return ResultVOUtils.success(); } + @AuthRuleAnnotation("") + @PostMapping("/warehouse/inout/saveWarehouseBussinessType") + public BaseResponse saveWarehouseBussinessType(@RequestBody Map params) { + String code = String.valueOf(params.get("code")); + String bussinessTypeJson = String.valueOf(params.get("bussinessTypes")); + if (StrUtil.isBlank(code) || StrUtil.isBlank(bussinessTypeJson)) + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + warehouseBussinessTypeService.saveWarehouseBussinessType(code, JSONUtil.toList(bussinessTypeJson, BussinessTypResponse.class)); + return ResultVOUtils.success(); + } + + @AuthRuleAnnotation("") + @PostMapping("/warehouse/inout/updateDirector") + public BaseResponse updateDirector(Integer id) { + if (null == id) + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + warehouseUserService.updateDirector(id); + return ResultVOUtils.success(); + } } diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/inout/utils/ContrastErpUtil.java b/api-admin/src/main/java/com/glxp/api/admin/controller/inout/utils/ContrastErpUtil.java index 213a51fd..86e39a59 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/inout/utils/ContrastErpUtil.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/inout/utils/ContrastErpUtil.java @@ -177,7 +177,7 @@ public class ContrastErpUtil { orderEntity.setStatus(ConstantStatus.ORDER_STATUS_SUCCESS); orderService.updateOrder(orderEntity); ioTransInoutService.printOrder(orderEntity.getId()); - invProductsTrService.genInvProducts(orderEntity.getId()); + } if (errorData.size() > 0) { diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvPreProductsController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvPreProductsController.java new file mode 100644 index 00000000..f02e97db --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvPreProductsController.java @@ -0,0 +1,148 @@ +package com.glxp.api.admin.controller.inventory; + +import com.github.pagehelper.PageInfo; +import com.glxp.api.admin.annotation.AuthRuleAnnotation; +import com.glxp.api.admin.constant.ConstantStatus; +import com.glxp.api.admin.constant.ConstantType; +import com.glxp.api.admin.entity.info.CompanyEntity; +import com.glxp.api.admin.entity.inventory.InvProductDetailEntity; +import com.glxp.api.admin.entity.inventory.InvProductEntity; +import com.glxp.api.admin.req.inout.DeleteRequest; +import com.glxp.api.admin.req.inventory.FilterInvProductDetailRequest; +import com.glxp.api.admin.req.inventory.FilterInvProductRequest; +import com.glxp.api.admin.res.PageSimpleResponse; +import com.glxp.api.admin.res.inventory.InvProductDetailResponse; +import com.glxp.api.admin.res.inventory.InvProductPageRespnonse; +import com.glxp.api.admin.res.inventory.InvProductResponse; +import com.glxp.api.admin.res.inventory.InvProductStatResponse; +import com.glxp.api.admin.service.info.CompanyService; +import com.glxp.api.admin.service.inventory.InvPreProductDetailService; +import com.glxp.api.admin.service.inventory.InvPreProductService; +import com.glxp.api.common.enums.ResultEnum; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; + + +@RestController +public class InvPreProductsController { + @Resource + InvPreProductService invProductService; + @Resource + InvPreProductDetailService invProductDetailService; + @Resource + private CompanyService companyService; + + @AuthRuleAnnotation("") + @GetMapping("spms/pre/inv/products/filter") + public BaseResponse filterInvProduct(FilterInvProductRequest filterInvProductRequest) { + boolean showSup = false; +// if (SYSTEM_CUSTOMER_ID.equals(filterInvProductRequest.getCustomerId())) { +// filterInvProductRequest.setCustomerId(null); +// showSup = true; +// } else { +// CompanyEntity companyEntity = companyService.findCompany(Long.parseLong(filterInvProductRequest.getCustomerId())); +// filterInvProductRequest.setSupId(companyEntity.getUnitIdFk()); +// filterInvProductRequest.setCustomerId(null); +// } + List invProductResponses = invProductService.filterJoinInvProduct(filterInvProductRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(invProductResponses); + InvProductPageRespnonse pageSimpleResponse = new InvProductPageRespnonse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(invProductResponses); + pageSimpleResponse.setShowSup(showSup); + return ResultVOUtils.success(pageSimpleResponse); + } + + @AuthRuleAnnotation("") + @GetMapping("spms/pre/inv/products/filterDetail") + public BaseResponse filterInvProductDetail(FilterInvProductDetailRequest filterInvProductRequest) { +// if (SYSTEM_CUSTOMER_ID.equals(filterInvProductRequest.getCustomerId())) { +// filterInvProductRequest.setCustomerId(null); +//// filterInvProductRequest.setSupId(); +// } + List invProductDetailEntities = invProductDetailService.filterInvProduct(filterInvProductRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(invProductDetailEntities); + List invProductDetailResponses = new ArrayList<>(); + if (invProductDetailEntities.size() > 0) { + for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntities) { + InvProductDetailResponse invProductDetailResponse = new InvProductDetailResponse(); + BeanUtils.copyProperties(invProductDetailEntity, invProductDetailResponse); + if (invProductDetailEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { + invProductDetailResponse.setMainActionStr("出库"); + invProductDetailResponse.setOutCount(invProductDetailEntity.getCount()); + } else { + invProductDetailResponse.setMainActionStr("入库"); + invProductDetailResponse.setInCount(invProductDetailEntity.getCount()); + } + invProductDetailResponses.add(invProductDetailResponse); + } + } + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(invProductDetailResponses); + return ResultVOUtils.success(pageSimpleResponse); + } + + @AuthRuleAnnotation("") + @PostMapping("spms/pre/inv/products/delete") + public BaseResponse deleteInvProduct(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + String id = deleteRequest.getId(); + InvProductEntity invProductEntity = invProductService.selectById(id); + if (invProductEntity != null) { + invProductService.deleteById(id); + FilterInvProductDetailRequest detailRequest = new FilterInvProductDetailRequest(); + detailRequest.setSupId(invProductEntity.getSupId()); + detailRequest.setBatchNo(invProductEntity.getBatchNo()); + detailRequest.setProductIdFk(invProductEntity.getRelIdFk()); + invProductDetailService.deleteByProductId(detailRequest); + return ResultVOUtils.success("删除成功"); + } else { + return ResultVOUtils.error(500, "删除失败!"); + } + } + + @AuthRuleAnnotation("") + @GetMapping("spms/pre/inv/products/stat") + public BaseResponse statInvProduct(FilterInvProductDetailRequest filterInvProductDetailRequest) { + + InvProductStatResponse invProductStatResponse = new InvProductStatResponse(); + //统计预入库数量 + FilterInvProductDetailRequest temp1 = new FilterInvProductDetailRequest(); + BeanUtils.copyProperties(filterInvProductDetailRequest, temp1); + temp1.setPurchaseType(ConstantStatus.PRUCHASE_ADVANCE); + invProductStatResponse.setAdvanceCount(invProductDetailService.statCount(temp1)); + //统计普通采购数量 + FilterInvProductDetailRequest temp2 = new FilterInvProductDetailRequest(); + BeanUtils.copyProperties(filterInvProductDetailRequest, temp2); + temp2.setPurchaseType(ConstantStatus.PRUCHASE_COMMON); + invProductStatResponse.setCommonCount(invProductDetailService.statCount(temp2)); + //统计入库数量 + FilterInvProductDetailRequest temp3 = new FilterInvProductDetailRequest(); + BeanUtils.copyProperties(filterInvProductDetailRequest, temp3); + temp3.setMainAction(ConstantType.TYPE_PUT); + invProductStatResponse.setInCount(invProductDetailService.statCount(temp3)); + //统计出库数量 + FilterInvProductDetailRequest temp4 = new FilterInvProductDetailRequest(); + BeanUtils.copyProperties(filterInvProductDetailRequest, temp4); + temp4.setMainAction(ConstantType.TYPE_OUT); + invProductStatResponse.setOutCount(invProductDetailService.statCount(temp4)); + return ResultVOUtils.success(invProductStatResponse); + } + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvProductsController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvProductsController.java index f5f1f5de..417789c8 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvProductsController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvProductsController.java @@ -1,10 +1,13 @@ package com.glxp.api.admin.controller.inventory; +import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageInfo; +import com.glxp.api.admin.annotation.AuthRuleAnnotation; import com.glxp.api.admin.constant.ConstantStatus; import com.glxp.api.admin.constant.ConstantType; import com.glxp.api.admin.entity.basic.UdiEntity; import com.glxp.api.admin.entity.basic.UdiInfoEntity; +import com.glxp.api.admin.entity.info.CompanyEntity; import com.glxp.api.admin.entity.inout.OrderEntity; import com.glxp.api.admin.entity.inventory.InvProductDetailEntity; import com.glxp.api.admin.entity.inventory.InvProductEntity; @@ -20,6 +23,7 @@ import com.glxp.api.admin.res.inventory.InvProductResponse; import com.glxp.api.admin.res.inventory.InvProductStatResponse; import com.glxp.api.admin.service.basic.UdiInfoService; import com.glxp.api.admin.service.basic.UdiRelevanceService; +import com.glxp.api.admin.service.info.CompanyService; import com.glxp.api.admin.service.inout.OrderService; import com.glxp.api.admin.service.inventory.InvProductDetailService; import com.glxp.api.admin.service.inventory.InvProductService; @@ -58,6 +62,8 @@ public class InvProductsController { private UdiRelevanceService udiRelevanceService; @Resource private UdiInfoService udiInfoService; + @Resource + private CompanyService companyService; @GetMapping("spms/inv/products/filter") public BaseResponse filterInvProduct(FilterInvProductRequest filterInvProductRequest) { @@ -223,7 +229,6 @@ public class InvProductsController { code = filterCodeTraceRequest.getCode(); } - FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); filterInvProductDetailRequest.setCode(code); filterInvProductDetailRequest.setSupId(filterCodeTraceRequest.getSupId()); @@ -251,5 +256,43 @@ public class InvProductsController { } + /** + * 库存统计 + * + * @param filterInvProductRequest + * @return + */ + @AuthRuleAnnotation("") + @GetMapping("/spms/inv/products/stockStatistics") + public BaseResponse stockStatistics(FilterInvProductRequest filterInvProductRequest) { + boolean showSup = false; +// if (SYSTEM_CUSTOMER_ID.equals(filterInvProductRequest.getCustomerId())) { +// filterInvProductRequest.setCustomerId(null); +// showSup = true; +// } else { +// CompanyEntity companyEntity = companyService.findCompany(Long.parseLong(filterInvProductRequest.getCustomerId())); +// filterInvProductRequest.setSupId(companyEntity.getUnitIdFk()); +// filterInvProductRequest.setCustomerId(null); +// } + + List invProductResponses; + if (StrUtil.isBlank(filterInvProductRequest.getCpmctymc()) && StrUtil.isBlank(filterInvProductRequest.getNameCode()) + && StrUtil.isBlank(filterInvProductRequest.getGgxh()) && StrUtil.isBlank(filterInvProductRequest.getZczbhhzbapzbh()) + && StrUtil.isBlank(filterInvProductRequest.getYlqxzcrbarmc()) && StrUtil.isBlank(filterInvProductRequest.getSupId()) + && StrUtil.isBlank(filterInvProductRequest.getInvStorageCode()) && StrUtil.isBlank(filterInvProductRequest.getBatchNo())) { + //参数为空,走库存查询逻辑 + invProductResponses = invProductService.filterJoinInvProduct(filterInvProductRequest); + } else { + //参数不为空,走库存统计逻辑 + invProductResponses = invProductService.stockStatistics(filterInvProductRequest); + } + PageInfo pageInfo = new PageInfo<>(invProductResponses); + InvProductPageRespnonse pageSimpleResponse = new InvProductPageRespnonse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(pageInfo.getList()); + pageSimpleResponse.setShowSup(showSup); + return ResultVOUtils.success(pageSimpleResponse); + } + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvWarehouseController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvWarehouseController.java index 787566f6..e08c2cb6 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvWarehouseController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvWarehouseController.java @@ -1,6 +1,8 @@ package com.glxp.api.admin.controller.inventory; import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.github.pagehelper.PageInfo; import com.glxp.api.admin.annotation.AuthRuleAnnotation; import com.glxp.api.admin.entity.inventory.InvWarehouseEntity; @@ -8,21 +10,27 @@ import com.glxp.api.admin.req.basic.FilterBasicThirdSysRequest; import com.glxp.api.admin.req.inout.DeleteRequest; import com.glxp.api.admin.req.inventory.FilterInvWarehouseRequest; import com.glxp.api.admin.res.PageSimpleResponse; +import com.glxp.api.admin.res.inventory.InvWarehouseExportResponse; import com.glxp.api.admin.res.inventory.InvWarehouseResponse; import com.glxp.api.admin.res.inventory.InvWarehouseThirdSysResponse; +import com.glxp.api.admin.service.auth.CustomerService; import com.glxp.api.admin.service.inventory.InvWarehouseService; +import com.glxp.api.admin.util.DateUtil; +import com.glxp.api.admin.util.FileUtils; import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import org.springframework.beans.BeanUtils; import org.springframework.validation.BindingResult; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.io.IOException; +import java.io.InputStream; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -33,7 +41,10 @@ public class InvWarehouseController { @Resource InvWarehouseService invWarehouseService; + @Resource + CustomerService customerService; + @AuthRuleAnnotation("") @GetMapping("spms/inv/warehouse/filter") public BaseResponse filterInvWarehouse(FilterInvWarehouseRequest filterInvWarehouseRequest) { List invWarehouseEntities = invWarehouseService.filterInvWarehouse(filterInvWarehouseRequest); @@ -44,6 +55,7 @@ public class InvWarehouseController { return ResultVOUtils.success(restMap); } + @AuthRuleAnnotation("") @GetMapping("spms/inv/warehouse/filterAll") public BaseResponse filterAllInvWarehouse(FilterInvWarehouseRequest filterInvWarehouseRequest) { filterInvWarehouseRequest.setPid(0); @@ -51,6 +63,17 @@ public class InvWarehouseController { return ResultVOUtils.success(invWarehouseEntities); } + @AuthRuleAnnotation("") + @GetMapping("spms/inv/warehouse/filterAllByUser") + public BaseResponse filterAllByUser(FilterInvWarehouseRequest filterInvWarehouseRequest) { + Integer userId = customerService.getUserId(); + filterInvWarehouseRequest.setUserId(userId); + filterInvWarehouseRequest.setPid(0); + List invWarehouseEntities = invWarehouseService.filterAllByUser(filterInvWarehouseRequest); + return ResultVOUtils.success(invWarehouseEntities); + } + + public List merge(List invWarehouseEntities, Integer pid) { List invWarehouseResponses = new ArrayList<>(); @@ -65,7 +88,7 @@ public class InvWarehouseController { return invWarehouseResponses; } - + @AuthRuleAnnotation("") @PostMapping("/spms/inv/warehouse/save") public BaseResponse save(@RequestBody @Valid InvWarehouseEntity invWarehouseEntity, BindingResult bindingResult) { @@ -74,8 +97,27 @@ public class InvWarehouseController { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } - if (invWarehouseEntity.getPid() == null) { + if (invWarehouseEntity.getPid() == null) {//仓库 invWarehouseEntity.setPid(0); // 默认设置 + FilterInvWarehouseRequest filterInvWarehouseRequest = new FilterInvWarehouseRequest(); + filterInvWarehouseRequest.setPid(invWarehouseEntity.getPid()); + InvWarehouseEntity codeEntity = invWarehouseService.selectMaxCode(filterInvWarehouseRequest); + invWarehouseEntity.setCode(Integer.parseInt(codeEntity.getCode()) + 1 + ""); + } else {//货位 + + FilterInvWarehouseRequest filterInvWarehouseRequest = new FilterInvWarehouseRequest(); + filterInvWarehouseRequest.setPid(invWarehouseEntity.getPid()); + InvWarehouseEntity codeEntity = invWarehouseService.selectMaxCode(filterInvWarehouseRequest); + InvWarehouseEntity pEntity = invWarehouseService.selectById(invWarehouseEntity.getPid() + ""); + if (codeEntity == null) { + int code = Integer.parseInt(pEntity.getCode()) * 1000; + invWarehouseEntity.setCode(code + ""); + } else { + invWarehouseEntity.setCode(Integer.parseInt(codeEntity.getCode()) + 1 + ""); + } + invWarehouseEntity.setAdvanceType(pEntity.getAdvanceType()); + invWarehouseEntity.setLevel(pEntity.getLevel()); + invWarehouseEntity.setPcode(pEntity.getPcode()); } boolean b = invWarehouseService.insertInvWarehouse(invWarehouseEntity); @@ -86,6 +128,7 @@ public class InvWarehouseController { return ResultVOUtils.success("添加成功!"); } + @AuthRuleAnnotation("") @PostMapping("/spms/inv/warehouse/edit") public BaseResponse edit(@RequestBody @Valid InvWarehouseEntity invWarehouseEntity, BindingResult bindingResult) { @@ -105,6 +148,7 @@ public class InvWarehouseController { return ResultVOUtils.success(); } + @AuthRuleAnnotation("") @PostMapping("/spms/inv/warehouse/delete") public BaseResponse delete(@RequestBody DeleteRequest deleteRequest) { @@ -174,4 +218,54 @@ public class InvWarehouseController { return ResultVOUtils.success(pageSimpleResponse); } + //仓库信息文件导出 + @AuthRuleAnnotation("") + @PostMapping("/spms/inv/warehouse/exportJson") + public void exportJson(@RequestBody DeleteRequest deleteRequest, HttpServletResponse res) { + FilterInvWarehouseRequest filterInvWarehouseRequest = new FilterInvWarehouseRequest(); + List invWarehouseEntities = invWarehouseService.filterInvWarehouse(filterInvWarehouseRequest); + InvWarehouseExportResponse invWarehouseExportResponse = new InvWarehouseExportResponse(); + invWarehouseExportResponse.setInvWarehouseEntities(invWarehouseEntities); + String json = JSONObject.toJSON(invWarehouseExportResponse).toString(); + String fileName = "仓库信息导出_" + DateUtil.getDate() + ".udi"; + res.setHeader("Content-disposition", "attachment;fileName=" + fileName); + res.setContentType("text/plain;charset=UTF-8"); + try { + res.getOutputStream().write(json.getBytes(StandardCharsets.UTF_8)); + } catch (IOException e) { + e.printStackTrace(); + } + } + + + //仓库信息文件导入 + @AuthRuleAnnotation("") + @PostMapping("/spms/inv/warehouse/uploadJson") + public BaseResponse uploadOrders(@RequestParam("file") List files) { + for (int i = 0; i < files.size(); i++) { + MultipartFile file = files.get(i); + if (file.isEmpty()) { + return ResultVOUtils.error(500, "上传第" + (i++) + "个文件失败"); + } + String filename = file.getOriginalFilename(); + String fileType = filename.substring(filename.lastIndexOf(".")); + if (!".udi".equals(fileType)) { + return ResultVOUtils.error(500, "请上传udi格式文件!"); + } + try { + InputStream inputStream = file.getInputStream(); + String json = FileUtils.readStream(inputStream); + InvWarehouseExportResponse invWarehouseExportResponse = (InvWarehouseExportResponse) JSON.parseObject(json, InvWarehouseExportResponse.class); + List invWarehouseEntities = invWarehouseExportResponse.getInvWarehouseEntities(); + if (invWarehouseEntities != null) { + invWarehouseService.importInvWarehouse(invWarehouseEntities); + } + } catch (IOException e) { + e.printStackTrace(); + } + } + return ResultVOUtils.success("后台正在导入仓库信息,请稍后查看!"); + } + + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/auth/AuthAdminDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/auth/AuthAdminDao.java index e9c3471c..eadd5ced 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/auth/AuthAdminDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/auth/AuthAdminDao.java @@ -8,15 +8,17 @@ import java.util.List; @Mapper public interface AuthAdminDao { - + /** * 后台业务查询列表 + * * @return 列表 */ List listAdminPage(AuthAdminQueryRequest authAdminQueryRequest); - + /** * 根据id查询 + * * @param id 传入的id * @return */ @@ -24,6 +26,7 @@ public interface AuthAdminDao { /** * 根据id查询 password + * * @param id 传入的id * @return */ @@ -31,30 +34,41 @@ public interface AuthAdminDao { /** * 根据Name + * * @param userName 用户名 * @return */ AuthAdmin findByUserName(String userName); - + /** * 插入 + * * @param authAdmin * @return */ boolean insertAuthAdmin(AuthAdmin authAdmin); - + /** * 更新 + * * @param authAdmin * @return */ boolean updateAuthAdmin(AuthAdmin authAdmin); - + /** * 删除 + * * @param id * @return */ boolean deleteById(Long id); - + + /** + * 查询医院用户列表 + * + * @return + */ + List selectHospitalUser(); + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BussinessChangeTypeDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BussinessChangeTypeDao.java index a5ad4116..701bfa9d 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BussinessChangeTypeDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BussinessChangeTypeDao.java @@ -18,4 +18,7 @@ public interface BussinessChangeTypeDao { boolean insertBusChangeTypee(BussinessChangeTypeEntity bussinessTypeEntity); boolean deleteById(@Param("id") String id); + + boolean deleteByAction(@Param("scAction") String scAction); + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BussinessLocalTypeDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BussinessLocalTypeDao.java index f214d104..61f9d593 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BussinessLocalTypeDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BussinessLocalTypeDao.java @@ -18,6 +18,11 @@ public interface BussinessLocalTypeDao { List filterJoin(BussinessLocalTypeFilterRequest bussinessTypeFilterRequest); + List filterJoinByUser(BussinessLocalTypeFilterRequest bussinessTypeFilterRequest); + + List filterLeftJoin(BussinessLocalTypeFilterRequest bussinessTypeFilterRequest); + + BussinessLocalTypeEntity findBTByAction(String action); BussinessLocalTypeEntity findBTByName(String name); diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BussinessTypeDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BussinessTypeDao.java index b257d840..f9436891 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BussinessTypeDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BussinessTypeDao.java @@ -24,5 +24,32 @@ public interface BussinessTypeDao { boolean deleteById(@Param("id") String id); + BussinessTypeEntity selectByAction(String action); + + List filterAllByUser(BussinessTypeFilterRequest bussinessTypeFilterRequest); + + /** + * 查询是否启用补单 + * + * @param billNo + * @return + */ + String selectEnableSupplementOrder(String billNo); + + /** + * 查询候选补单类型 + * + * @param mainAction + * @return + */ + List selectCandidateBussinsessTypes(String mainAction); + + /** + * 更新对应单据类型的补单数据 + * + * @param supplementOrderType + * @param action + */ + void updateSupplementOrderType(@Param("supplementOrderType") String supplementOrderType, @Param("action") String action); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/business/StockOrderDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/business/StockOrderDao.java index d2057b10..002f5dc0 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/business/StockOrderDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/business/StockOrderDao.java @@ -29,6 +29,16 @@ public interface StockOrderDao { List filterListOr(StockOrderFilterRequest stockOrderFilterRequest); StockOrderEntity findOne(StockOrderFilterRequest stockOrderFilterRequest); - + List listOrderPrint(StockOrderFilterRequest stockOrderFilterRequest); + + + void updateSupplementNoByBillNo(@Param("billNo") String billNo, @Param("supplementOrderNo") String supplementOrderNo); + + /** + * 查询补单单号为空的单据号 + * + * @return + */ + List selectSupplementOrderList(); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/inout/CodesDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inout/CodesDao.java index d305da34..b2b8c6e9 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/inout/CodesDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inout/CodesDao.java @@ -40,4 +40,11 @@ public interface CodesDao { boolean updateSupId(@Param("supId") String supId, @Param("nameCode") String nameCode, @Param("orderId") String orderId); + + WarehouseEntity getByCorpOrderId(String corpOrderId); + + + boolean deleteByOrderId(@Param("orderId") String orderId); + + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/inout/OrderDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inout/OrderDao.java index a6f625cb..747de7d6 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/inout/OrderDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inout/OrderDao.java @@ -38,6 +38,8 @@ public interface OrderDao { boolean updateRemark(@Param("orderId") String orderId, @Param("remark") String remark); + List filterListOr(OrderFilterRequest orderFilterRequest); + List filterList(OrderFilterRequest orderFilterRequest); List filterNoSort(OrderFilterRequest orderFilterRequest); diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/inout/WarehouseBussinessTypeDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inout/WarehouseBussinessTypeDao.java new file mode 100644 index 00000000..db0b0f7f --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inout/WarehouseBussinessTypeDao.java @@ -0,0 +1,34 @@ +package com.glxp.api.admin.dao.inout; + +import com.glxp.api.admin.entity.inout.WarehouseBussinessTypeEntity; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface WarehouseBussinessTypeDao { + int deleteByPrimaryKey(Integer id); + + int insert(WarehouseBussinessTypeEntity record); + + int insertOrUpdate(WarehouseBussinessTypeEntity record); + + int insertOrUpdateSelective(WarehouseBussinessTypeEntity record); + + int insertSelective(WarehouseBussinessTypeEntity record); + + WarehouseBussinessTypeEntity selectByPrimaryKey(Integer id); + + int updateByPrimaryKeySelective(WarehouseBussinessTypeEntity record); + + int updateByPrimaryKey(WarehouseBussinessTypeEntity record); + + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(@Param("list") List list); + + List selectListByCode(@Param("code") String code); + + void deleteByCode(@Param("code") String code); +} \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/inout/WarehouseUserDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inout/WarehouseUserDao.java new file mode 100644 index 00000000..31341f53 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inout/WarehouseUserDao.java @@ -0,0 +1,50 @@ +package com.glxp.api.admin.dao.inout; + +import com.glxp.api.admin.entity.inout.WarehouseUserEntity; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface WarehouseUserDao { + int deleteByPrimaryKey(Integer id); + + int insert(WarehouseUserEntity record); + + int insertOrUpdate(WarehouseUserEntity record); + + int insertOrUpdateSelective(WarehouseUserEntity record); + + int insertSelective(WarehouseUserEntity record); + + WarehouseUserEntity selectByPrimaryKey(Integer id); + + int updateByPrimaryKeySelective(WarehouseUserEntity record); + + int updateByPrimaryKey(WarehouseUserEntity record); + + int updateBatch(List list); + + int updateBatchSelective(List list); + + int batchInsert(@Param("list") List list); + + List selectListByCode(@Param("code") String code); + + void deleteByCode(@Param("code") String code); + + /** + * 更新此仓库下的主管状态 + * + * @param code + * @param isDirector + */ + void updateDirector(@Param("code") String code, @Param("isDirector") int isDirector); + + /** + * 根据id更新主管状态 + * + * @param id + * @param isDirector + */ + void updateDirectorById(@Param("id") Integer id, @Param("isDirector") int isDirector); +} \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvPreProductDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvPreProductDao.java new file mode 100644 index 00000000..11648943 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvPreProductDao.java @@ -0,0 +1,31 @@ +package com.glxp.api.admin.dao.inventory; + +import com.glxp.api.admin.entity.inventory.InvProductEntity; +import com.glxp.api.admin.req.inventory.FilterInvProductRequest; +import com.glxp.api.admin.res.inventory.InvProductResponse; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface InvPreProductDao { + + + List filterInvProduct(FilterInvProductRequest filterInvProductRequest); + + List filterJoinInvProduct(FilterInvProductRequest filterInvProductRequest); + + boolean insertInvProduct(InvProductEntity invProductEntity); + + boolean updateInvProduct(InvProductEntity invProductEntity); + + InvProductEntity selectByUuid(@Param("relIdFk") String relIdFk, @Param("batchNo") String batchNo, + @Param("supId") String supId, @Param("invStorageCode") String invStorageCode, + @Param("invWarehouseCode") String invWarehouseCode); + + InvProductEntity selectById(@Param("id") String id); + + boolean deleteById(@Param("id") String id); + +} \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvPreProductDetailDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvPreProductDetailDao.java new file mode 100644 index 00000000..fd1950e5 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvPreProductDetailDao.java @@ -0,0 +1,29 @@ +package com.glxp.api.admin.dao.inventory; + +import com.glxp.api.admin.entity.inventory.InvProductDetailEntity; +import com.glxp.api.admin.req.inventory.FilterInvProductDetailRequest; +import com.glxp.api.admin.res.inventory.InvProductDetailJoinResponse; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface InvPreProductDetailDao { + + List filterInvProductDetail(FilterInvProductDetailRequest filterInvProductDetailRequest); + + List filterJoinInvProduct(FilterInvProductDetailRequest filterInvProductDetailRequest); + + boolean insertInvProductDetail(InvProductDetailEntity invProductDetailEntity); + + boolean insertInvProductDetails(@Param("invProductDetailEntitys") List invProductDetailEntitys); + + boolean updateInvProductDetail(InvProductDetailEntity invProductDetailEntity); + + boolean deleteById(@Param("id") String id); + + boolean deleteByProductId(FilterInvProductDetailRequest filterInvProductDetailRequest); + + int statCount(FilterInvProductDetailRequest filterInvProductDetailRequest); +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvProductDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvProductDao.java index 0eaf055d..b8ed98ea 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvProductDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvProductDao.java @@ -16,11 +16,19 @@ public interface InvProductDao { List filterJoinInvProduct(FilterInvProductRequest filterInvProductRequest); + InvProductEntity selectByUuid(@Param("relIdFk") String relIdFk, @Param("batchNo") String batchNo, + @Param("supId") String supId, @Param("invStorageCode") String invStorageCode, + @Param("invWarehouseCode") String invWarehouseCode); + boolean insertInvProduct(InvProductEntity invProductEntity); boolean updateInvProduct(InvProductEntity invProductEntity); - InvProductEntity selectById(@Param("id") String id); + InvProductEntity selectById(@Param("id") String id); boolean deleteById(@Param("id") String id); + + + //库存统计查询 + List stockStatistics(FilterInvProductRequest filterInvProductRequest); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvStockPrintDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvStockPrintDao.java index d40e8325..2716ab3d 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvStockPrintDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvStockPrintDao.java @@ -12,6 +12,8 @@ public interface InvStockPrintDao { List filterStockPrint(FilterStockprintRequest filterStockprintRequest); + List filterJoinStockPrint(FilterStockprintRequest filterStockprintRequest); + StockPrintEntity findByNameCode(@Param("nameCode") String nameCode); StockPrintEntity findByRlId(FilterStockprintRequest udiRlIdFk); diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvWarehouseDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvWarehouseDao.java index b37e2f4c..cf7fa47f 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvWarehouseDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvWarehouseDao.java @@ -20,6 +20,19 @@ public interface InvWarehouseDao { boolean deleteById(@Param("id") String id); + List filterAllByUser(FilterInvWarehouseRequest filterInvWarehouseRequest); + + InvWarehouseEntity selectMaxCode(FilterInvWarehouseRequest filterInvWarehouseRequest); + + String getNameByCode(@Param("fromCorpId") String fromCorpId); + + /** + * 批量导入仓库信息 + * + * @param invWarehouseEntities + */ + void importInvWarehouse(@Param("invWarehouseEntities") List invWarehouseEntities); + /** * 更新第三方仓库ID * diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/StockPrintTempDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/StockPrintTempDao.java new file mode 100644 index 00000000..51edbff6 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/StockPrintTempDao.java @@ -0,0 +1,20 @@ +package com.glxp.api.admin.dao.inventory; + +import com.glxp.api.admin.entity.inventory.StockPrintTempEntity; +import com.glxp.api.admin.req.inventory.DeleteStPrintTempRequest; +import com.glxp.api.admin.req.inventory.FilterStPrintTempRequest; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface StockPrintTempDao { + + List filterStockPrintTempEntity(FilterStPrintTempRequest filterStockprintRequest); + + boolean deleteById(DeleteStPrintTempRequest deleteStPrintTempRequest); + + boolean insertStockPrintTempEntity(StockPrintTempEntity stockPrintEntity); + + boolean updateStockPrintTempEntity(StockPrintTempEntity stockPrintEntity); +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BussinessChangeTypeEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BussinessChangeTypeEntity.java index 92f34af8..07097d30 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BussinessChangeTypeEntity.java +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BussinessChangeTypeEntity.java @@ -14,7 +14,7 @@ public class BussinessChangeTypeEntity { private Integer beforeTime; private String remark; private String name; - + private Integer changeType; public Integer getBeforeTime() { if (beforeTime == null) diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BussinessLocalTypeEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BussinessLocalTypeEntity.java index b0bb1aa8..3a6238e8 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BussinessLocalTypeEntity.java +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BussinessLocalTypeEntity.java @@ -11,12 +11,12 @@ public class BussinessLocalTypeEntity { private String originAction; private String localName; private String remark; - private Boolean enable; - private Boolean checkEnable; - private Boolean advanceType; - private Boolean changeEnable; - private int corpType; private boolean genUnit; + private String mainAction; + private boolean checkEnable; + private boolean advanceType; + private boolean changeEnable; + private boolean spUse; private String storageCode; - private Boolean spUse; + private int corpType; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BussinessTypeEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BussinessTypeEntity.java index 1805042a..42eb1c0c 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BussinessTypeEntity.java +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BussinessTypeEntity.java @@ -14,10 +14,12 @@ public class BussinessTypeEntity { private String localAction; private String thirdAction; private boolean checkEnable; + private boolean advanceType; private boolean genUnit; private boolean innerOrder; private boolean secCheckEnable; private String thirdSys; + private boolean checkUdims; private boolean checkPdaEd; private boolean checkPdaUn; @@ -37,4 +39,11 @@ public class BussinessTypeEntity { private int corpType; private String storageCode; + + + private String localName; + private Boolean spUse; + + //补单类型 + private String supplementOrderType; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/basic/CndidateRequest.java b/api-admin/src/main/java/com/glxp/api/admin/entity/basic/CndidateRequest.java new file mode 100644 index 00000000..3d659583 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/basic/CndidateRequest.java @@ -0,0 +1,11 @@ +package com.glxp.api.admin.entity.basic; + +import lombok.Data; + +@Data +public class CndidateRequest { + + + String mainAction; + String curAction; +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/basic/UdiRelevanceEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/basic/UdiRelevanceEntity.java index ae793b36..465d990a 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/basic/UdiRelevanceEntity.java +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/basic/UdiRelevanceEntity.java @@ -29,4 +29,14 @@ public class UdiRelevanceEntity { //阳光菜头平台编码 private String udplatCode; + private Boolean isLock; + private Integer lockStatus; + private Boolean isAdavence; + + public Integer getLockStatus() { + if (lockStatus == null) + return 1; + return lockStatus; + } + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/business/StockOrderDetailEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/business/StockOrderDetailEntity.java index 367f31fb..633017f0 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/business/StockOrderDetailEntity.java +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/business/StockOrderDetailEntity.java @@ -2,6 +2,8 @@ package com.glxp.api.admin.entity.business; import lombok.Data; +import java.math.BigDecimal; + @Data public class StockOrderDetailEntity { @@ -19,4 +21,19 @@ public class StockOrderDetailEntity { private String ylqxzcrbarmc; private String zczbhhzbapzbh; + + private BigDecimal price; + + //销售清单号(第二票) + private String secSalesListNo; + + //销售发票号(第一票) + private String firstSalesInvNo; + + //销售发票号(第二票) + private String secSalesInvNo; + + //开票日期 + private String invoiceDate; + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/business/StockOrderEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/business/StockOrderEntity.java index cff535ce..28e83ca2 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/business/StockOrderEntity.java +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/business/StockOrderEntity.java @@ -28,4 +28,11 @@ public class StockOrderEntity { private String orderIdFk; private BigDecimal totalPrice; private String locStorageCode; + + //补单单号 + private String supplementNo; + + private Integer createUser; + private Integer reviewUser; + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/business/StockOrderPrintEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/business/StockOrderPrintEntity.java index a4a14cf8..5eb4c5ec 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/business/StockOrderPrintEntity.java +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/business/StockOrderPrintEntity.java @@ -2,6 +2,8 @@ package com.glxp.api.admin.entity.business; import lombok.Data; +import java.math.BigDecimal; + @Data public class StockOrderPrintEntity extends StockOrderDetailEntity { @@ -21,4 +23,22 @@ public class StockOrderPrintEntity extends StockOrderDetailEntity { private String unitIdFk; private String customerId; private String locStorageCode; + + + private BigDecimal totalPrice; + + public BigDecimal getPrice() { +// if (price == null) +// return new BigDecimal(0); + return price; + + } + + private BigDecimal price; + private BigDecimal amount; + private String title; + private String zczbhhzbapzbh; + private String index; + private String totalPriceWord; + private String orderName; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/inout/OrderEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/inout/OrderEntity.java index fcbc72bf..0f023034 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/inout/OrderEntity.java +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/inout/OrderEntity.java @@ -22,4 +22,21 @@ public class OrderEntity { private String stockCheckFk; private String remark; private String locStorageCode; + + private Integer receiveStatus; + private String supId; + + private String customerId; + + private String exportFilePath; + private Integer dlCount; + private String invStorageCode; + private String invWarehouseCode; + //补单单号 + private String supplementNo; + private String ullageSupNo; + private Integer createUser; + private Integer reviewUser; + + private boolean isError; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/inout/WarehouseBussinessTypeEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/inout/WarehouseBussinessTypeEntity.java new file mode 100644 index 00000000..7a2f207f --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/inout/WarehouseBussinessTypeEntity.java @@ -0,0 +1,29 @@ +package com.glxp.api.admin.entity.inout; + +import lombok.Data; + +/** + * 仓库字典-单据类型关联表 + */ +@Data +public class WarehouseBussinessTypeEntity { + /** + * id + */ + private Integer id; + + /** + * 仓位码 + */ + private String code; + + /** + * 业务类型 + */ + private String action; + + /** + * 业务名称 + */ + private String name; +} \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/inout/WarehouseEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/inout/WarehouseEntity.java index c8928c9b..4afd59de 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/inout/WarehouseEntity.java +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/inout/WarehouseEntity.java @@ -27,4 +27,27 @@ public class WarehouseEntity { private Integer status; private String supId; private String locStorageCode; + + + private String customerId; + private String invStorageCode; + private String invWarehouseCode; + + public String getSupId() { + +// if (supId == null) { +// return fromCorpId; +// } + return supId; + } + + public Integer getCount() { + + if (count == null) { + return 1; + } + if (count == 0) + return 1; + return count; + } } diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/inout/WarehouseUserEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/inout/WarehouseUserEntity.java new file mode 100644 index 00000000..1f1e65d7 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/inout/WarehouseUserEntity.java @@ -0,0 +1,37 @@ +package com.glxp.api.admin.entity.inout; + +import lombok.Data; + +/** + * 仓库字典-用户关联表 + */ +@Data +public class WarehouseUserEntity { + /** + * id + */ + private Integer id; + + /** + * 仓位码 + */ + private String code; + + /** + * 用户id + */ + private Long userid; + + /** + * 用户名/登录账号 + */ + private String username; + + /** + * 是否是仓库主管 + */ + private boolean isDirector; + + private String employeeName; + +} \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/InvProductDetailEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/InvProductDetailEntity.java index feac1fa4..8c3299c8 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/InvProductDetailEntity.java +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/InvProductDetailEntity.java @@ -23,4 +23,6 @@ public class InvProductDetailEntity { private String stockIdFk; private String supId; private String originCode; + private String invStorageCode; + private String invWarehouseCode; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/InvProductEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/InvProductEntity.java index d7a431db..44ebc299 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/InvProductEntity.java +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/InvProductEntity.java @@ -20,6 +20,8 @@ public class InvProductEntity { private String customerId; private String supId; private String unitFk; + private String invStorageCode; + private String invWarehouseCode; public Integer getInCount() { if (inCount == null) @@ -31,4 +33,5 @@ public class InvProductEntity { if (outCount == null) return 0; return outCount; - }} + } +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/InvWarehouseEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/InvWarehouseEntity.java index 134030b7..d8b52d28 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/InvWarehouseEntity.java +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/InvWarehouseEntity.java @@ -6,8 +6,8 @@ import java.util.Date; @Data public class InvWarehouseEntity { - - + private Integer level; + private String pcode; private Integer id; private Integer pid; private String code; diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/StockPrintEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/StockPrintEntity.java index 03137ded..277ef1c5 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/StockPrintEntity.java +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/StockPrintEntity.java @@ -34,4 +34,8 @@ public class StockPrintEntity { private String sDetailId; private Date updateTime; + + private Integer count; + private String corpName; + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/StockPrintTempEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/StockPrintTempEntity.java new file mode 100644 index 00000000..06878bac --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/StockPrintTempEntity.java @@ -0,0 +1,16 @@ +package com.glxp.api.admin.entity.inventory; + +import lombok.Data; + +@Data +public class StockPrintTempEntity { + + private Integer id; + private String fileName; + private String filePath; + private Integer status; + private String printCodeIdFk; + private String stockOrderFk; + private String genKey; + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/basic/BusNoUserRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/basic/BusNoUserRequest.java new file mode 100644 index 00000000..bd59cc97 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/req/basic/BusNoUserRequest.java @@ -0,0 +1,10 @@ +package com.glxp.api.admin.req.basic; + +import lombok.Data; + +@Data +public class BusNoUserRequest { + + private String curAction; + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/basic/BussinessLocalTypeFilterRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/basic/BussinessLocalTypeFilterRequest.java index 7a771972..183d6667 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/basic/BussinessLocalTypeFilterRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/basic/BussinessLocalTypeFilterRequest.java @@ -13,4 +13,5 @@ public class BussinessLocalTypeFilterRequest extends ListPageRequest { private Boolean changeEnable; private Boolean isFilterBind; private Boolean spUse; + private String code; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/basic/CompanyProductRelevanceRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/basic/CompanyProductRelevanceRequest.java index 2ca15aab..96196efb 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/basic/CompanyProductRelevanceRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/basic/CompanyProductRelevanceRequest.java @@ -45,4 +45,7 @@ public class CompanyProductRelevanceRequest extends ListPageRequest { private Integer lockStatus; private Boolean isAdavence; private String unitFk; + + private String corpId; + private String billType; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/basic/FilterStockprintRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/basic/FilterStockprintRequest.java index 2bf21b3f..f987c0e5 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/basic/FilterStockprintRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/basic/FilterStockprintRequest.java @@ -20,4 +20,5 @@ public class FilterStockprintRequest extends ListPageRequest { private String sOrderId; private String sDetailId; private String id; + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/basic/FilterUdiInfoRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/basic/FilterUdiInfoRequest.java index e8a0d139..69baefec 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/basic/FilterUdiInfoRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/basic/FilterUdiInfoRequest.java @@ -11,15 +11,13 @@ public class FilterUdiInfoRequest extends ListPageRequest { private String nameCode; private String uuid; private String ggxh; + private String thirdId; private String id; - private String thirdId; private String thirdId1; private String thirdId2; private String thirdId3; private String thirdId4; - private String ybbm; - private String sptm; private String thirdCode; @@ -33,13 +31,22 @@ public class FilterUdiInfoRequest extends ListPageRequest { private String unionCode; private String udiCode; private String thrPiId; - private String unionFilterStr;//产品名称,规格,批文,生产厂家联合查询 private Boolean isCheck; private Integer filterType; //0:全部,1.对照完成,2.未对照DI,3.未对照产品编码,4.未对照其他产品编码 + + private Integer lockStatus; + private String customerId; private String udplatCode; private String mainId; + private Boolean isAdavence; + private String corpId; + private String billType; + + private String ybbm; + private String sptm; + private String unionFilterStr;//产品名称,规格,批文,生产厂家联合查询 } diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/business/StockOrderDetailFilterRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/business/StockOrderDetailFilterRequest.java index 758326f6..692ba8ba 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/business/StockOrderDetailFilterRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/business/StockOrderDetailFilterRequest.java @@ -3,6 +3,8 @@ package com.glxp.api.admin.req.business; import com.glxp.api.admin.req.ListPageRequest; import lombok.Data; +import java.math.BigDecimal; + @Data public class StockOrderDetailFilterRequest extends ListPageRequest { @@ -20,4 +22,6 @@ public class StockOrderDetailFilterRequest extends ListPageRequest { private String ylqxzcrbarmc; private String zczbhhzbapzbh; + private BigDecimal price; + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/business/StockOrderFilterRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/business/StockOrderFilterRequest.java index f390ff86..2bd97712 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/business/StockOrderFilterRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/business/StockOrderFilterRequest.java @@ -31,4 +31,9 @@ public class StockOrderFilterRequest extends ListPageRequest { private String thirdOrderFk; private String locStorageCode; //当前仓库号 + + + private Integer createUser; + private Integer reviewUser; + private Integer userId; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/business/StockOrderIdsRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/business/StockOrderIdsRequest.java index 1f3534cf..124aab4e 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/business/StockOrderIdsRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/business/StockOrderIdsRequest.java @@ -14,4 +14,5 @@ public class StockOrderIdsRequest { boolean filterUDIType; UdiEntity udiEntity; List stockOrderLists; + List datas; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/business/StockOrderPostRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/business/StockOrderPostRequest.java index 0e763afb..1ee6b0a2 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/business/StockOrderPostRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/business/StockOrderPostRequest.java @@ -3,6 +3,7 @@ package com.glxp.api.admin.req.business; import com.glxp.api.admin.entity.business.StockOrderDetailEntity; import lombok.Data; +import java.math.BigDecimal; import java.util.List; @Data @@ -24,4 +25,8 @@ public class StockOrderPostRequest { private List subErpOrders; private String customerId; + + private String locStorageCode; + private BigDecimal price; + private String unitIdFk; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/business/StockSelectDataEntity.java b/api-admin/src/main/java/com/glxp/api/admin/req/business/StockSelectDataEntity.java new file mode 100644 index 00000000..2c58651f --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/req/business/StockSelectDataEntity.java @@ -0,0 +1,11 @@ +package com.glxp.api.admin.req.business; + +import lombok.Data; + +@Data +public class StockSelectDataEntity { + private String relId; + private String batchNo; + private String expireDate; + private String productDate; +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inout/OrderFilterRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inout/OrderFilterRequest.java index a78c73e3..9982f977 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/inout/OrderFilterRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inout/OrderFilterRequest.java @@ -21,4 +21,16 @@ public class OrderFilterRequest extends ListPageRequest { private Integer process; private String unionStatus; private String fromCorpId; + + private Integer receiveStatus; + private Integer statusOrOne; + private String customerId; + private String orderId;//业务单据ID,手持终端上传上来的 + + private String ullageSupNo; + private Integer createUser; + private Integer reviewUser; + + private Integer userId; + private String locStorageCode; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inout/PostOrderRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inout/PostOrderRequest.java index 31ad7140..884dab59 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/inout/PostOrderRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inout/PostOrderRequest.java @@ -4,11 +4,13 @@ import com.glxp.api.admin.entity.inout.WarehouseEntity; import lombok.Data; import java.util.List; + @Data public class PostOrderRequest { List postOrders; int submitType;//0:提交,1:保存 String oldOrderId;//保存再编辑后再保存或提交,根据旧id删除旧数据。 + private Integer userId; public List getPostOrder() { return postOrders; diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/DeleteStPrintTempRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/DeleteStPrintTempRequest.java new file mode 100644 index 00000000..35e19b6f --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/DeleteStPrintTempRequest.java @@ -0,0 +1,11 @@ +package com.glxp.api.admin.req.inventory; + +import lombok.Data; + +@Data +public class DeleteStPrintTempRequest { + private String printCodeIdFk; + private String stockOrderFk; + private Integer id; + private String genKey; +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvProductDetailRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvProductDetailRequest.java index 10acf1aa..2fc3cba3 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvProductDetailRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvProductDetailRequest.java @@ -23,4 +23,7 @@ public class FilterInvProductDetailRequest extends ListPageRequest { private String stockIdFk; private String supId; private String originCode; + + private String invStorageCode; + private String invWarehouseCode; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvProductRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvProductRequest.java index 7cd39ced..db9bacf3 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvProductRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvProductRequest.java @@ -6,19 +6,32 @@ import lombok.Data; @Data public class FilterInvProductRequest extends ListPageRequest { + private String id; + //产品名称 private String cpmctymc; + //产品标识DI private String nameCode; private String relIdFk; + //规格型号 private String ggxh; + //批次号 private String batchNo; private String productionDate; private String expireDate; + //生产厂家 private String ylqxzcrbarmc; + //批准文号 private String zczbhhzbapzbh; private String customerId; private String productsName; private String supId; + //供应商名称 private String unitFk; + //仓位码 + private String invStorageCode; + //货位码 + private String invWarehouseCode; + private String groupType; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvWarehouseRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvWarehouseRequest.java index cf6d9da4..a0b2098b 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvWarehouseRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvWarehouseRequest.java @@ -16,4 +16,9 @@ public class FilterInvWarehouseRequest extends ListPageRequest { private Boolean isDefault; private Date updateTime; private String key; + + + private Integer level; + private String pcode; + private Integer userId; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterStPrintTempRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterStPrintTempRequest.java new file mode 100644 index 00000000..bcb35f92 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterStPrintTempRequest.java @@ -0,0 +1,11 @@ +package com.glxp.api.admin.req.inventory; + +import com.glxp.api.admin.req.ListPageRequest; +import lombok.Data; + +@Data +public class FilterStPrintTempRequest extends ListPageRequest { + private Integer id; + private Integer printCodeIdFk; + private Integer stockOrderFk; +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/itextpdf/PdfPrintCountEntity.java b/api-admin/src/main/java/com/glxp/api/admin/req/itextpdf/PdfPrintCountEntity.java new file mode 100644 index 00000000..4b9811a5 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/req/itextpdf/PdfPrintCountEntity.java @@ -0,0 +1,10 @@ +package com.glxp.api.admin.req.itextpdf; + +import lombok.Data; + +@Data +public class PdfPrintCountEntity { + + private String queryId; + private Integer rowCount; +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/itextpdf/StockQRCodeTextPDFTemplateRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/itextpdf/StockQRCodeTextPDFTemplateRequest.java index f1abfbdf..e58e9f77 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/itextpdf/StockQRCodeTextPDFTemplateRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/itextpdf/StockQRCodeTextPDFTemplateRequest.java @@ -2,6 +2,8 @@ package com.glxp.api.admin.req.itextpdf; import lombok.Data; +import java.util.List; + @Data public class StockQRCodeTextPDFTemplateRequest { @@ -16,4 +18,10 @@ public class StockQRCodeTextPDFTemplateRequest { private String path; private int rowCount; private int qrcodeCount; + + + private String queryId; + private List countList; + + private String orderName; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/receipt/BussinessTypeFilterRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/receipt/BussinessTypeFilterRequest.java index 5c1d73dd..1f72b020 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/receipt/BussinessTypeFilterRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/receipt/BussinessTypeFilterRequest.java @@ -16,4 +16,10 @@ public class BussinessTypeFilterRequest extends ListPageRequest { private Boolean advanceType; private String type; private Integer index; + + private Boolean spUse; + private String localAction; + private Boolean secCheckEnable; + + private String filterAction; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/res/basic/BussinessTypResponse.java b/api-admin/src/main/java/com/glxp/api/admin/res/basic/BussinessTypResponse.java index 85c6f93b..3d6e2c87 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/res/basic/BussinessTypResponse.java +++ b/api-admin/src/main/java/com/glxp/api/admin/res/basic/BussinessTypResponse.java @@ -30,6 +30,7 @@ public class BussinessTypResponse { private boolean checkChange; private boolean checkSp; + private boolean secCheckEnable; private boolean secCheckUdims; private boolean secCheckPdaEd; private boolean secCheckPdaUn; diff --git a/api-admin/src/main/java/com/glxp/api/admin/res/basic/UdiRelevanceResponse.java b/api-admin/src/main/java/com/glxp/api/admin/res/basic/UdiRelevanceResponse.java index ed61c07f..81f0acbd 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/res/basic/UdiRelevanceResponse.java +++ b/api-admin/src/main/java/com/glxp/api/admin/res/basic/UdiRelevanceResponse.java @@ -52,6 +52,11 @@ public class UdiRelevanceResponse { private String mainId; private String mainName; + private Boolean isSelect; + private Boolean isLock; + private Integer lockStatus; + private String udplatCode; + private Boolean isAdavence; public int getBhzxxsbzsl() { if (bhzxxsbzsl == null || bhzxxsbzsl == 0) { diff --git a/api-admin/src/main/java/com/glxp/api/admin/res/business/StockOrderDetailResponse.java b/api-admin/src/main/java/com/glxp/api/admin/res/business/StockOrderDetailResponse.java index 83f81463..5692d80f 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/res/business/StockOrderDetailResponse.java +++ b/api-admin/src/main/java/com/glxp/api/admin/res/business/StockOrderDetailResponse.java @@ -2,6 +2,8 @@ package com.glxp.api.admin.res.business; import lombok.Data; +import java.math.BigDecimal; + @Data public class StockOrderDetailResponse { @@ -20,4 +22,17 @@ public class StockOrderDetailResponse { private String sweepCount; private String ylqxzcrbarmc; private String zczbhhzbapzbh; + private BigDecimal price; + + //销售清单号(第二票) + private String secSalesListNo; + + //销售发票号(第一票) + private String firstSalesInvNo; + + //销售发票号(第二票) + private String secSalesInvNo; + + //开票日期 + private String invoiceDate; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/res/inout/StockOrderResponse.java b/api-admin/src/main/java/com/glxp/api/admin/res/inout/StockOrderResponse.java new file mode 100644 index 00000000..086fa881 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/res/inout/StockOrderResponse.java @@ -0,0 +1,11 @@ +package com.glxp.api.admin.res.inout; + +import com.glxp.api.admin.entity.business.StockOrderEntity; +import lombok.Data; + +@Data +public class StockOrderResponse extends StockOrderEntity { + + private boolean enableSupplementOrder; + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/res/inout/WarehouseResponse.java b/api-admin/src/main/java/com/glxp/api/admin/res/inout/WarehouseResponse.java index 2154f0a8..587f1da7 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/res/inout/WarehouseResponse.java +++ b/api-admin/src/main/java/com/glxp/api/admin/res/inout/WarehouseResponse.java @@ -16,4 +16,5 @@ public class WarehouseResponse { private long id; private String fromCorp; private Integer count; + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/res/inventory/InvWarehouseExportResponse.java b/api-admin/src/main/java/com/glxp/api/admin/res/inventory/InvWarehouseExportResponse.java new file mode 100644 index 00000000..52b40775 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/res/inventory/InvWarehouseExportResponse.java @@ -0,0 +1,12 @@ +package com.glxp.api.admin.res.inventory; + +import com.glxp.api.admin.entity.inventory.InvWarehouseEntity; +import lombok.Data; + +import java.util.List; + +@Data +public class InvWarehouseExportResponse { + + List invWarehouseEntities; +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/res/inventory/InvWarehouseResponse.java b/api-admin/src/main/java/com/glxp/api/admin/res/inventory/InvWarehouseResponse.java index 44089f13..25838972 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/res/inventory/InvWarehouseResponse.java +++ b/api-admin/src/main/java/com/glxp/api/admin/res/inventory/InvWarehouseResponse.java @@ -18,7 +18,8 @@ public class InvWarehouseResponse { private Integer status; private Date updateTime; private String remark; - + private Integer level; + private String pcode; private List children; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/auth/AuthAdminService.java b/api-admin/src/main/java/com/glxp/api/admin/service/auth/AuthAdminService.java index 6d0c6c71..584abe74 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/auth/AuthAdminService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/auth/AuthAdminService.java @@ -24,4 +24,10 @@ public interface AuthAdminService { boolean deleteById(Long id); + /** + * 获取医院用户列表 + * + * @return + */ + List getHospitalUserList(); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/auth/CustomerService.java b/api-admin/src/main/java/com/glxp/api/admin/service/auth/CustomerService.java new file mode 100644 index 00000000..e8a40f5a --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/service/auth/CustomerService.java @@ -0,0 +1,36 @@ +package com.glxp.api.admin.service.auth; + +import com.glxp.api.admin.entity.auth.AuthAdmin; +import com.glxp.api.admin.exception.JsonException; +import com.glxp.api.common.enums.ResultEnum; +import org.springframework.stereotype.Service; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; + +@Service +public class CustomerService { + + @Resource + private AuthAdminService authAdminService; + + public AuthAdmin getUserBean() { + Integer userId = getUserId(); + AuthAdmin authAdmin = authAdminService.findById(userId.longValue()); + return authAdmin; + } + + public Integer getUserId() { + ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + + if (attributes == null) { + throw new JsonException(ResultEnum.NOT_NETWORK); + } + HttpServletRequest request = attributes.getRequest(); + String userId = request.getHeader("ADMIN_ID"); + return Integer.parseInt(userId); + } + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/auth/impl/AuthAdminServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/auth/impl/AuthAdminServiceImpl.java index 7835c01a..3b5389d0 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/auth/impl/AuthAdminServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/auth/impl/AuthAdminServiceImpl.java @@ -1,5 +1,6 @@ package com.glxp.api.admin.service.auth.impl; +import cn.hutool.core.collection.CollUtil; import com.github.pagehelper.PageHelper; import com.glxp.api.admin.dao.auth.AuthAdminDao; import com.glxp.api.admin.exception.JsonException; @@ -105,6 +106,13 @@ public class AuthAdminServiceImpl implements AuthAdminService { public boolean deleteById(Long id) { return authAdminDao.deleteById(id); } - + @Override + public List getHospitalUserList() { + List userList = authAdminDao.selectHospitalUser(); + if (CollUtil.isEmpty(userList)) { + return Collections.emptyList(); + } + return userList; + } } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/basic/BussinessChangeTypeService.java b/api-admin/src/main/java/com/glxp/api/admin/service/basic/BussinessChangeTypeService.java index 278f5391..a166db48 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/basic/BussinessChangeTypeService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/basic/BussinessChangeTypeService.java @@ -17,6 +17,8 @@ public interface BussinessChangeTypeService { boolean insertBusChangeTypee(BussinessChangeTypeEntity bussinessTypeEntity); + boolean deleteByAction(String scAction); + boolean deleteById(String id); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/basic/BussinessLocalTypeService.java b/api-admin/src/main/java/com/glxp/api/admin/service/basic/BussinessLocalTypeService.java index 88138bb5..5dc5f939 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/basic/BussinessLocalTypeService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/basic/BussinessLocalTypeService.java @@ -15,6 +15,11 @@ public interface BussinessLocalTypeService { List filterJoin(BussinessLocalTypeFilterRequest bussinessTypeFilterRequest); + List filterJoinByUser(BussinessLocalTypeFilterRequest bussinessTypeFilterRequest); + + List filterLeftJoin(BussinessLocalTypeFilterRequest bussinessTypeFilterRequest); + + BussinessLocalTypeEntity findBTByAction(String action); BussinessLocalTypeEntity findBTByName(String name); diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/basic/BussinessTypeService.java b/api-admin/src/main/java/com/glxp/api/admin/service/basic/BussinessTypeService.java index 3b4de89e..44aa7d85 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/basic/BussinessTypeService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/basic/BussinessTypeService.java @@ -30,4 +30,15 @@ public interface BussinessTypeService { boolean updateBussinessType(BussinessTypeEntity bussinessTypeEntity); boolean deleteById(String id); + + + List filterAllByUser(BussinessTypeFilterRequest bussinessTypeFilterRequest); + + /** + * 查询候选补单类型 + * + * @param id + * @return + */ + List candidateBussinessType(String id); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/basic/UdiInfoService.java b/api-admin/src/main/java/com/glxp/api/admin/service/basic/UdiInfoService.java index 1f8a77ba..5a99ed49 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/basic/UdiInfoService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/basic/UdiInfoService.java @@ -1,6 +1,7 @@ package com.glxp.api.admin.service.basic; import com.glxp.api.admin.entity.basic.UdiInfoEntity; +import com.glxp.api.admin.entity.basic.UdiRelevanceEntity; import com.glxp.api.admin.req.basic.FilterUdiInfoRequest; import org.apache.ibatis.annotations.Param; @@ -12,6 +13,8 @@ public interface UdiInfoService { List filterAllUdiInfo(FilterUdiInfoRequest filterUdiInfoRequest); + + UdiInfoEntity findByNameCode(String nameCode); UdiInfoEntity findByUuid(String uuid); diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/basic/UdiRelevanceService.java b/api-admin/src/main/java/com/glxp/api/admin/service/basic/UdiRelevanceService.java index d037c877..46d46350 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/basic/UdiRelevanceService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/basic/UdiRelevanceService.java @@ -19,6 +19,8 @@ public interface UdiRelevanceService { boolean isExit(); + List batchSelectByUuid(List uuids); + List filterUdiGp(FilterUdiInfoRequest filterUdiInfoRequest); boolean isExitByUuid(String uuid); diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BussinessChangeTypeServiceaImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BussinessChangeTypeServiceaImpl.java index 0f7f3e05..681a3450 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BussinessChangeTypeServiceaImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BussinessChangeTypeServiceaImpl.java @@ -44,6 +44,11 @@ public class BussinessChangeTypeServiceaImpl implements BussinessChangeTypeServi return bussinessChangeTypeDao.insertBusChangeTypee(bussinessTypeEntity); } + @Override + public boolean deleteByAction(String scAction) { + return bussinessChangeTypeDao.deleteByAction(scAction); + } + @Override public boolean deleteById(String id) { return bussinessChangeTypeDao.deleteById(id); diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BussinessLocalTypeServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BussinessLocalTypeServiceImpl.java index 92573937..3346f3dd 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BussinessLocalTypeServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BussinessLocalTypeServiceImpl.java @@ -55,6 +55,32 @@ public class BussinessLocalTypeServiceImpl implements BussinessLocalTypeService return data; } + @Override + public List filterJoinByUser(BussinessLocalTypeFilterRequest bussinessTypeFilterRequest) { + if (bussinessTypeFilterRequest == null) { + return Collections.emptyList(); + } + if (bussinessTypeFilterRequest.getPage() != null) { + int offset = (bussinessTypeFilterRequest.getPage() - 1) * bussinessTypeFilterRequest.getLimit(); + PageHelper.offsetPage(offset, bussinessTypeFilterRequest.getLimit()); + } + List data = bussinessLocalTypeDao.filterJoinByUser(bussinessTypeFilterRequest); + return data; + } + + @Override + public List filterLeftJoin(BussinessLocalTypeFilterRequest bussinessTypeFilterRequest) { + if (bussinessTypeFilterRequest == null) { + return Collections.emptyList(); + } + if (bussinessTypeFilterRequest.getPage() != null) { + int offset = (bussinessTypeFilterRequest.getPage() - 1) * bussinessTypeFilterRequest.getLimit(); + PageHelper.offsetPage(offset, bussinessTypeFilterRequest.getLimit()); + } + List data = bussinessLocalTypeDao.filterLeftJoin(bussinessTypeFilterRequest); + return data; + } + @Override public BussinessLocalTypeEntity findBTByAction(String action) { BussinessLocalTypeFilterRequest bussinessTypeFilterRequest = new BussinessLocalTypeFilterRequest(); diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BussinessTypeServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BussinessTypeServiceImpl.java index 36018524..a3156112 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BussinessTypeServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BussinessTypeServiceImpl.java @@ -1,6 +1,8 @@ package com.glxp.api.admin.service.basic.impl; +import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageHelper; +import com.glxp.api.admin.constant.ConstantType; import com.glxp.api.admin.dao.basic.BussinessTypeDao; import com.glxp.api.admin.entity.basic.BasicThirdSysDetailEntity; import com.glxp.api.admin.entity.basic.BussinessOriginTypeEntity; @@ -132,6 +134,20 @@ public class BussinessTypeServiceImpl implements BussinessTypeService { @Override public boolean updateBussinessType(BussinessTypeEntity bussinessTypeEntity) { + if (StrUtil.isEmpty(bussinessTypeEntity.getSupplementOrderType())) { + BussinessTypeEntity temp = bussinessTypeDao.selectByAction(bussinessTypeEntity.getAction()); + BussinessTypeEntity bussinessTypeEntity1 = bussinessTypeDao.selectByAction(temp.getSupplementOrderType()); + if (bussinessTypeEntity1 != null) { + bussinessTypeEntity1.setSupplementOrderType(""); + bussinessTypeDao.updateBussinessType(bussinessTypeEntity1); + } + + } else { + BussinessTypeEntity correspondType = bussinessTypeDao.selectByAction(bussinessTypeEntity.getSupplementOrderType()); + if (correspondType != null && correspondType.getCorpType() == 1) { + bussinessTypeDao.updateSupplementOrderType(bussinessTypeEntity.getSupplementOrderType(), bussinessTypeEntity.getAction()); + } + } return bussinessTypeDao.updateBussinessType(bussinessTypeEntity); } @@ -139,4 +155,29 @@ public class BussinessTypeServiceImpl implements BussinessTypeService { public boolean deleteById(String id) { return bussinessTypeDao.deleteById(id); } + + @Override + public List filterAllByUser(BussinessTypeFilterRequest bussinessTypeFilterRequest) { + if (bussinessTypeFilterRequest == null) { + return Collections.emptyList(); + } + if (bussinessTypeFilterRequest.getPage() != null) { + int offset = (bussinessTypeFilterRequest.getPage() - 1) * bussinessTypeFilterRequest.getLimit(); + PageHelper.offsetPage(offset, bussinessTypeFilterRequest.getLimit()); + } + List data = bussinessTypeDao.filterAllByUser(bussinessTypeFilterRequest); + return data; + } + + @Override + public List candidateBussinessType(String mainAction) { +// BussinessTypeEntity rawData = bussinessTypeDao.selectById(id); +// String mainAction; + if (mainAction.equals(ConstantType.TYPE_OUT)) { + mainAction = ConstantType.TYPE_PUT; + } else { + mainAction = ConstantType.TYPE_OUT; + } + return bussinessTypeDao.selectCandidateBussinsessTypes(mainAction); + } } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/UdiRelevanceServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/UdiRelevanceServiceImpl.java index d4b2f938..fe280248 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/UdiRelevanceServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/UdiRelevanceServiceImpl.java @@ -36,6 +36,11 @@ public class UdiRelevanceServiceImpl implements UdiRelevanceService { return data; } + @Override + public List batchSelectByUuid(List uuids) { + return udiRelevanceDao.batchSelectByUuid(uuids); + } + @Override public UdiRelevanceResponse selectByNameCode(String nameCode) { FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/business/StockOrderDetailService.java b/api-admin/src/main/java/com/glxp/api/admin/service/business/StockOrderDetailService.java index 891ce487..a678bb1d 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/business/StockOrderDetailService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/business/StockOrderDetailService.java @@ -24,4 +24,6 @@ public interface StockOrderDetailService { boolean deleteByOrderIdFk(String id); StockOrderDetailEntity findOne(@Param("id") String id); + + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/business/StockOrderService.java b/api-admin/src/main/java/com/glxp/api/admin/service/business/StockOrderService.java index 806068ee..f9421cb3 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/business/StockOrderService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/business/StockOrderService.java @@ -45,4 +45,13 @@ public interface StockOrderService { * @return */ List exportOrderData(StockOrderFilterRequest request); + + + + /** + * 查询补单单号列表 + * + * @return + */ + List getSupplementOrderBillNoList(); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/business/impl/StockOrderServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/business/impl/StockOrderServiceImpl.java index 436a4c0f..e194fd74 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/business/impl/StockOrderServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/business/impl/StockOrderServiceImpl.java @@ -140,4 +140,9 @@ public class StockOrderServiceImpl implements StockOrderService { return Collections.emptyList(); } + @Override + public List getSupplementOrderBillNoList() { + return stockOrderDao.selectSupplementOrderList(); + } + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inout/CodesService.java b/api-admin/src/main/java/com/glxp/api/admin/service/inout/CodesService.java index eec411b0..be5cfe08 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inout/CodesService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inout/CodesService.java @@ -41,4 +41,8 @@ public interface CodesService { boolean updateSupId(String sup, String nameCode, String orderId); + + + boolean deleteByOrderId(String orderId); + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inout/OrderDetailService.java b/api-admin/src/main/java/com/glxp/api/admin/service/inout/OrderDetailService.java index 6626d46e..232435a3 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inout/OrderDetailService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inout/OrderDetailService.java @@ -40,4 +40,6 @@ public interface OrderDetailService { boolean deleteByOrderId(String id); ErpOrderEntity findById(String id); + + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inout/OrderService.java b/api-admin/src/main/java/com/glxp/api/admin/service/inout/OrderService.java index 9c34294e..d2dda5c1 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inout/OrderService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inout/OrderService.java @@ -1,9 +1,12 @@ package com.glxp.api.admin.service.inout; +import com.glxp.api.admin.entity.business.StockOrderEntity; import com.glxp.api.admin.entity.inout.OrderEntity; import com.glxp.api.admin.entity.inout.WarehouseEntity; import com.glxp.api.admin.req.inout.OrderFilterRequest; import com.glxp.api.admin.req.inout.OrderQueryRequest; +import com.glxp.api.admin.res.inout.StockOrderResponse; +import com.glxp.api.common.res.BaseResponse; import java.util.List; @@ -28,7 +31,6 @@ public interface OrderService { boolean updateExportStatus(String orderId, Integer exportStatus); - boolean updateSignStatus(String orderId, Integer signStatus); boolean updateContrastStatus(String orderId, String contrastStatus); @@ -42,10 +44,35 @@ public interface OrderService { OrderEntity findById(String orderId); - List findCodesById(String orderId); List filterListByOrder(List orderList); List filterListByCode(List warehouseEntityList); + + List listOrderError(OrderQueryRequest orderQueryRequest); + + + boolean updateSignStatus(String orderId, Integer signStatus); + + + List filterListOr(OrderFilterRequest orderFilterRequest); + + + /** + * 补单 + * + * @param billNo 单据号 + * @return + */ + BaseResponse supplementOrder(String billNo, String orderIdFk); + + /** + * 判断订单是否可以补单 + * + * @param stockOrderEntityList + * @return + */ + List checkSupplementOrder(List stockOrderEntityList); + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inout/WarehouseBussinessTypeService.java b/api-admin/src/main/java/com/glxp/api/admin/service/inout/WarehouseBussinessTypeService.java new file mode 100644 index 00000000..712abfeb --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inout/WarehouseBussinessTypeService.java @@ -0,0 +1,27 @@ +package com.glxp.api.admin.service.inout; + + +import com.glxp.api.admin.entity.inout.WarehouseBussinessTypeEntity; +import com.glxp.api.admin.res.basic.BussinessTypResponse; + +import java.util.List; + +public interface WarehouseBussinessTypeService { + + + /** + * 根据code查询数据列表 + * + * @param code + * @return + */ + List getListByCode(String code); + + /** + * 添加仓库信息-单据类型关联数据 + * + * @param code + * @param bussinessTypeEntities + */ + void saveWarehouseBussinessType(String code, List bussinessTypResponseList); +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inout/WarehouseUserService.java b/api-admin/src/main/java/com/glxp/api/admin/service/inout/WarehouseUserService.java new file mode 100644 index 00000000..8050c97a --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inout/WarehouseUserService.java @@ -0,0 +1,33 @@ +package com.glxp.api.admin.service.inout; + + +import com.glxp.api.admin.entity.auth.AuthAdmin; +import com.glxp.api.admin.entity.inout.WarehouseUserEntity; + +import java.util.List; + +public interface WarehouseUserService { + + /** + * 查询仓库信息关联的用户数据 + * + * @param code 仓位码 + * @return + */ + List getListByCode(String code); + + /** + * 新增仓库字典,用户关联数据 + * + * @param code + * @param userList + */ + void saveWarehouseUser(String code, List userList); + + /** + * 设置主管 + * + * @param id + */ + void updateDirector(Integer id); +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/CodesServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/CodesServiceImpl.java index 3d592a57..946d7f9e 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/CodesServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/CodesServiceImpl.java @@ -38,6 +38,10 @@ public class CodesServiceImpl implements CodesService { return warehouseDao.insertWarehouses(warehouseEntities); } + @Override + public boolean deleteByOrderId(String orderId) { + return warehouseDao.deleteByOrderId(orderId); + } @Override public List findByNo(WarehouseQueryRequest warehouseQueryRequest) { @@ -133,4 +137,5 @@ public class CodesServiceImpl implements CodesService { public boolean updateSupId(String sup, String nameCode, String orderId) { return warehouseDao.updateSupId(sup, nameCode, orderId); } + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/OrderServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/OrderServiceImpl.java index 7c61b136..2344a958 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/OrderServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/OrderServiceImpl.java @@ -1,26 +1,52 @@ package com.glxp.api.admin.service.inout.impl; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageHelper; +import com.glxp.api.admin.constant.ConstantStatus; +import com.glxp.api.admin.dao.basic.BussinessTypeDao; +import com.glxp.api.admin.dao.business.StockOrderDao; +import com.glxp.api.admin.dao.inout.CodesTempDao; import com.glxp.api.admin.dao.inout.OrderDao; import com.glxp.api.admin.dao.inout.CodesDao; +import com.glxp.api.admin.dao.inventory.InvWarehouseDao; +import com.glxp.api.admin.entity.basic.BussinessTypeEntity; +import com.glxp.api.admin.entity.business.StockOrderEntity; import com.glxp.api.admin.entity.inout.OrderEntity; import com.glxp.api.admin.entity.inout.WarehouseEntity; import com.glxp.api.admin.req.inout.OrderFilterRequest; import com.glxp.api.admin.req.inout.OrderQueryRequest; +import com.glxp.api.admin.res.inout.StockOrderResponse; import com.glxp.api.admin.service.inout.OrderService; +import com.glxp.api.admin.util.CustomUtil; +import com.glxp.api.common.enums.ResultEnum; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.Collections; import java.util.List; +@Slf4j @Service public class OrderServiceImpl implements OrderService { @Resource OrderDao orderDao; @Resource - CodesDao warehouseDao; + BussinessTypeDao bussinessTypeDao; + @Resource + StockOrderDao stockOrderDao; + @Resource + InvWarehouseDao invWarehouseDao; + @Resource + CodesDao codesDao; + @Resource + CodesTempDao codesTempDao; @Override public List listOrders(OrderQueryRequest orderQueryRequest) { @@ -43,6 +69,15 @@ public class OrderServiceImpl implements OrderService { return orderDao.updateOrder(orderEntity); } + @Override + public List listOrderError(OrderQueryRequest orderQueryRequest) { + if (orderQueryRequest == null) { + return Collections.emptyList(); + } + int offset = (orderQueryRequest.getPage() - 1) * orderQueryRequest.getLimit(); + PageHelper.offsetPage(offset, orderQueryRequest.getLimit()); + return orderDao.listOrderError(orderQueryRequest); + } @Override public List listOrderRepeat(OrderQueryRequest orderQueryRequest) { @@ -79,6 +114,7 @@ public class OrderServiceImpl implements OrderService { return orderDao.updateExportStatus(orderId, exportStatus); } + @Override public boolean updateSignStatus(String orderId, Integer signStatus) { return orderDao.updateSignStatus(orderId, signStatus); @@ -96,7 +132,17 @@ public class OrderServiceImpl implements OrderService { @Override public List findAllOrders(OrderFilterRequest orderFilterRequest) { - return orderDao.filterNoSort(orderFilterRequest); + return orderDao.filterList(orderFilterRequest); + } + + @Override + public List filterListOr(OrderFilterRequest orderFilterRequest) { + if (orderFilterRequest == null) { + return Collections.emptyList(); + } + int offset = (orderFilterRequest.getPage() - 1) * orderFilterRequest.getLimit(); + PageHelper.offsetPage(offset, orderFilterRequest.getLimit()); + return orderDao.filterListOr(orderFilterRequest); } @Override @@ -121,17 +167,12 @@ public class OrderServiceImpl implements OrderService { return orderDao.findOne(orderFilterRequest); } - @Override - public List findCodesById(String orderId) { - return warehouseDao.findCodesById(orderId); - } @Override public List filterListByOrder(List orderList) { return orderDao.filterListByOrder(orderList); } - @Override public List filterListByCode(List warehouseEntityList) { if (warehouseEntityList == null) { @@ -140,5 +181,92 @@ public class OrderServiceImpl implements OrderService { return orderDao.filterListByCode(warehouseEntityList); } + @Override + public BaseResponse supplementOrder(String billNo, String orderIdFk) { + //查询订单数据 + OrderFilterRequest orderFilterRequest = new OrderFilterRequest(); + orderFilterRequest.setId(orderIdFk); + OrderEntity order = orderDao.findOne(orderFilterRequest); + //查询此类型单据是否可以补单 + BussinessTypeEntity bussinessTypeEntity = bussinessTypeDao.selectByAction(order.getAction()); + if (StrUtil.isBlank(bussinessTypeEntity.getSupplementOrderType())) { + //此类型单据不可补单 + return ResultVOUtils.error(ResultEnum.valueOf("此类型单据不可补单")); + } + + + OrderEntity supplementOrder = new OrderEntity(); + BeanUtil.copyProperties(order, supplementOrder); + //生成补单单号 + String supplementOrderNo = "SM" + CustomUtil.getId(); + supplementOrder.setSupplementNo(order.getId()); + supplementOrder.setId(supplementOrderNo); + //修改状态 + supplementOrder.setStatus(ConstantStatus.ORDER_STATUS_ADDITIONAL); //设置状态为补录单据 + supplementOrder.setExportStatus(0); //设置导出状态为未导出 + supplementOrder.setContrastStatus(0);//设置erp校验状态为未校验 + supplementOrder.setReceiveStatus(0); //设置验收状态为未验收 + + //修改往来单位及当前库存号 + supplementOrder.setFromCorpId(order.getLocStorageCode()); + supplementOrder.setLocStorageCode(order.getFromCorpId()); + String name = invWarehouseDao.getNameByCode(supplementOrder.getFromCorpId()); + supplementOrder.setFromCorp(name); + supplementOrder.setFromType(ConstantStatus.FROM_PEACE_CHANGE); + + BussinessTypeEntity supplementType = bussinessTypeDao.selectByAction(bussinessTypeEntity.getSupplementOrderType()); + supplementOrder.setMainAction(supplementType.getMainAction()); + supplementOrder.setAction(supplementType.getAction()); + + //复制码表 + List codes = codesDao.findByReceiptId(order.getId()); + List supplementCodes = new ArrayList<>(); + codes.forEach( + code -> { + WarehouseEntity supplementCode = new WarehouseEntity(); + BeanUtil.copyProperties(code, supplementCode); + supplementCode.setFromCorpId(supplementOrder.getFromCorpId()); + supplementCode.setFromCorp(supplementOrder.getFromCorp()); + supplementCode.setLocStorageCode(supplementOrder.getLocStorageCode()); + supplementCode.setOrderId(supplementOrderNo); + //查询补单设置 + supplementCode.setAction(bussinessTypeEntity.getSupplementOrderType()); + supplementCode.setMainAction(supplementType.getMainAction()); + supplementCode.setId(null); + supplementCodes.add(supplementCode); + + } + ); + //更新数据 + try { + orderDao.insertOrder(supplementOrder); + //更新配货单表对应单据的补单单号 + stockOrderDao.updateSupplementNoByBillNo(billNo, supplementOrderNo); + codesTempDao.insertCodesTemp(supplementCodes); + } catch (Exception e) { + log.error("补单数据插入失败"); + } + return ResultVOUtils.success(); + } + + @Override + public List checkSupplementOrder(List stockOrderEntityList) { + if (CollUtil.isEmpty(stockOrderEntityList)) { + return Collections.emptyList(); + } + List result = new ArrayList<>(); + stockOrderEntityList.forEach(stockOrderEntity -> { + StockOrderResponse response = new StockOrderResponse(); + BeanUtil.copyProperties(stockOrderEntity, response); + String supplementOrderType = bussinessTypeDao.selectEnableSupplementOrder(stockOrderEntity.getOrderIdFk()); + if (StrUtil.isBlank(supplementOrderType) || StrUtil.isNotBlank(stockOrderEntity.getSupplementNo())) { + response.setEnableSupplementOrder(false); + } else { + response.setEnableSupplementOrder(true); + } + result.add(response); + }); + return result; + } } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/WarehouseBussinessTypeServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/WarehouseBussinessTypeServiceImpl.java new file mode 100644 index 00000000..a0755d3f --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/WarehouseBussinessTypeServiceImpl.java @@ -0,0 +1,49 @@ +package com.glxp.api.admin.service.inout.impl; + +import cn.hutool.core.collection.CollUtil; +import com.glxp.api.admin.dao.inout.WarehouseBussinessTypeDao; +import com.glxp.api.admin.entity.inout.WarehouseBussinessTypeEntity; +import com.glxp.api.admin.res.basic.BussinessTypResponse; +import com.glxp.api.admin.service.inout.WarehouseBussinessTypeService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +@Slf4j +@Service +public class WarehouseBussinessTypeServiceImpl implements WarehouseBussinessTypeService { + + @Resource + private WarehouseBussinessTypeDao warehouseBussinessTypeDao; + + @Override + public List getListByCode(String code) { + List warehouseBussinessTypeEntities = warehouseBussinessTypeDao.selectListByCode(code); + if (CollUtil.isEmpty(warehouseBussinessTypeEntities)) { + return Collections.emptyList(); + } + return warehouseBussinessTypeEntities; + } + + @Override + public void saveWarehouseBussinessType(String code, List bussinessTypResponseList) { + if (CollUtil.isNotEmpty(bussinessTypResponseList)) { + List warehouseBussinessTypeEntities = new ArrayList<>(bussinessTypResponseList.size()); + bussinessTypResponseList.forEach(bussinessTypeEntity -> { + WarehouseBussinessTypeEntity entity = new WarehouseBussinessTypeEntity(); + entity.setCode(code); + entity.setAction(bussinessTypeEntity.getAction()); + entity.setName(bussinessTypeEntity.getName()); + warehouseBussinessTypeEntities.add(entity); + }); + //删除旧数据 + warehouseBussinessTypeDao.deleteByCode(code); + //加入新数据 + warehouseBussinessTypeDao.batchInsert(warehouseBussinessTypeEntities); + } + } +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/WarehouseUserServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/WarehouseUserServiceImpl.java new file mode 100644 index 00000000..739c94ba --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/WarehouseUserServiceImpl.java @@ -0,0 +1,58 @@ +package com.glxp.api.admin.service.inout.impl; + +import cn.hutool.core.collection.CollUtil; +import com.glxp.api.admin.dao.inout.WarehouseUserDao; +import com.glxp.api.admin.entity.auth.AuthAdmin; +import com.glxp.api.admin.entity.inout.WarehouseUserEntity; +import com.glxp.api.admin.service.inout.WarehouseUserService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +@Slf4j +@Service +public class WarehouseUserServiceImpl implements WarehouseUserService { + + + @Resource + private WarehouseUserDao warehouseUserDao; + + @Override + public List getListByCode(String code) { + List warehouseUserEntities = warehouseUserDao.selectListByCode(code); + if (CollUtil.isEmpty(warehouseUserEntities)) { + return Collections.emptyList(); + } + return warehouseUserEntities; + } + + @Override + public void saveWarehouseUser(String code, List userList) { + if (CollUtil.isNotEmpty(userList)) { + List warehouseUserEntities = new ArrayList<>(userList.size()); + userList.forEach(user -> { + WarehouseUserEntity warehouseUserEntity = new WarehouseUserEntity(); + warehouseUserEntity.setCode(code); + warehouseUserEntity.setUsername(user.getUserName()); + warehouseUserEntity.setUserid(user.getId()); + warehouseUserEntities.add(warehouseUserEntity); + }); + //删除旧数据 + warehouseUserDao.deleteByCode(code); + warehouseUserDao.batchInsert(warehouseUserEntities); + } + } + + @Override + public void updateDirector(Integer id) { + if (null != id) { + WarehouseUserEntity warehouseUserEntity = warehouseUserDao.selectByPrimaryKey(id); + warehouseUserDao.updateDirector(warehouseUserEntity.getCode(), 0); + warehouseUserDao.updateDirectorById(id, 1); + } + } +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvPreProductDetailService.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvPreProductDetailService.java new file mode 100644 index 00000000..60fa0f97 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvPreProductDetailService.java @@ -0,0 +1,29 @@ +package com.glxp.api.admin.service.inventory; + + +import com.glxp.api.admin.entity.inventory.InvProductDetailEntity; +import com.glxp.api.admin.req.inventory.FilterInvProductDetailRequest; +import com.glxp.api.admin.res.inventory.InvProductDetailJoinResponse; + +import java.util.List; + + +public interface InvPreProductDetailService { + + + List filterInvProduct(FilterInvProductDetailRequest filterInvProductDetailRequest); + + List filterJoinInvProduct(FilterInvProductDetailRequest filterInvProductDetailRequest); + + boolean insertInvProduct(InvProductDetailEntity invProductDetailEntity); + + boolean insertInvProducts(List invProductDetailEntitys); + + boolean updateInvProduct(InvProductDetailEntity invProductDetailEntity); + + boolean deleteById(String id); + + boolean deleteByProductId(FilterInvProductDetailRequest filterInvProductDetailRequest); + + int statCount(FilterInvProductDetailRequest filterInvProductDetailRequest); +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvPreProductService.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvPreProductService.java new file mode 100644 index 00000000..7b4687a4 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvPreProductService.java @@ -0,0 +1,25 @@ +package com.glxp.api.admin.service.inventory; + +import com.glxp.api.admin.entity.inventory.InvProductEntity; +import com.glxp.api.admin.req.inventory.FilterInvProductRequest; +import com.glxp.api.admin.res.inventory.InvProductResponse; + +import java.util.List; + +public interface InvPreProductService { + + List filterInvProduct(FilterInvProductRequest filterInvProductRequest); + + List filterJoinInvProduct(FilterInvProductRequest filterInvProductRequest); + + InvProductEntity selectByUuid(String uuid, String batchNo, String supId, String invStorageCode, String invWarehouseCode); + + InvProductEntity selectById(String id); + + boolean insertInvProduct(InvProductEntity invProductEntity); + + boolean updateInvProduct(InvProductEntity invProductEntity); + + boolean deleteById(String id); + +} \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvProductService.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvProductService.java index 2b9f19bd..237c0f50 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvProductService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvProductService.java @@ -13,7 +13,8 @@ public interface InvProductService { List filterJoinInvProduct(FilterInvProductRequest filterInvProductRequest); - InvProductEntity selectByUuid(String uuid, String batchNo, String supId); + + InvProductEntity selectByUuid(String uuid, String batchNo, String supId, String invStorageCode, String invWarehouseCode); InvProductEntity selectById(String id); @@ -23,4 +24,7 @@ public interface InvProductService { boolean deleteById(String id); + //库存统计 + List stockStatistics(FilterInvProductRequest filterInvProductRequest); + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvStockPrintService.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvStockPrintService.java index 7fc15a5c..af1130d1 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvStockPrintService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvStockPrintService.java @@ -30,4 +30,6 @@ public interface InvStockPrintService { boolean updatePrintStatus(List ids); + List filterJoinStockPrint(FilterStockprintRequest filterStockprintRequest); + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvWarehouseService.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvWarehouseService.java index c4085571..ff39a514 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvWarehouseService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvWarehouseService.java @@ -27,6 +27,17 @@ public interface InvWarehouseService { boolean deleteById(String id); + InvWarehouseEntity selectMaxCode(FilterInvWarehouseRequest filterInvWarehouseRequest); + + List filterAllByUser(FilterInvWarehouseRequest filterInvWarehouseRequest); + + /** + * 批量导入仓库信息 + * + * @param invWarehouseEntities + */ + void importInvWarehouse(List invWarehouseEntities); + /** * 绑定第三方仓库 * diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/StockPrintTempService.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/StockPrintTempService.java new file mode 100644 index 00000000..c67dd4ee --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/StockPrintTempService.java @@ -0,0 +1,19 @@ +package com.glxp.api.admin.service.inventory; + + +import com.glxp.api.admin.entity.inventory.StockPrintTempEntity; +import com.glxp.api.admin.req.inventory.DeleteStPrintTempRequest; +import com.glxp.api.admin.req.inventory.FilterStPrintTempRequest; + +import java.util.List; + +public interface StockPrintTempService { + + List filterStockPrintTempEntity(FilterStPrintTempRequest filterStockprintRequest); + + boolean deleteById(DeleteStPrintTempRequest deleteStPrintTempRequest); + + boolean insertStockPrintTempEntity(StockPrintTempEntity stockPrintEntity); + + boolean updateStockPrintTempEntity(StockPrintTempEntity stockPrintEntity); +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvPreProductDetailServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvPreProductDetailServiceImpl.java new file mode 100644 index 00000000..53214c4e --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvPreProductDetailServiceImpl.java @@ -0,0 +1,77 @@ +package com.glxp.api.admin.service.inventory.impl; + +import com.github.pagehelper.PageHelper; +import com.glxp.api.admin.dao.inventory.InvPreProductDetailDao; +import com.glxp.api.admin.entity.inventory.InvProductDetailEntity; +import com.glxp.api.admin.req.inventory.FilterInvProductDetailRequest; +import com.glxp.api.admin.res.inventory.InvProductDetailJoinResponse; +import com.glxp.api.admin.service.inventory.InvPreProductDetailService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + + +@Service +public class InvPreProductDetailServiceImpl implements InvPreProductDetailService { + + @Resource + InvPreProductDetailDao invPreProductDetailDao; + + @Override + public List filterInvProduct(FilterInvProductDetailRequest filterInvProductDetailRequest) { + if (filterInvProductDetailRequest == null) { + return Collections.emptyList(); + } + if (filterInvProductDetailRequest.getPage() != null) { + int offset = (filterInvProductDetailRequest.getPage() - 1) * filterInvProductDetailRequest.getLimit(); + PageHelper.offsetPage(offset, filterInvProductDetailRequest.getLimit()); + } + List data = invPreProductDetailDao.filterInvProductDetail(filterInvProductDetailRequest); + return data; + } + + @Override + public List filterJoinInvProduct(FilterInvProductDetailRequest filterInvProductDetailRequest) { + if (filterInvProductDetailRequest == null) { + return Collections.emptyList(); + } + if (filterInvProductDetailRequest.getPage() != null) { + int offset = (filterInvProductDetailRequest.getPage() - 1) * filterInvProductDetailRequest.getLimit(); + PageHelper.offsetPage(offset, filterInvProductDetailRequest.getLimit()); + } + List data = invPreProductDetailDao.filterJoinInvProduct(filterInvProductDetailRequest); + return data; + } + + @Override + public boolean insertInvProduct(InvProductDetailEntity invProductDetailEntity) { + return invPreProductDetailDao.insertInvProductDetail(invProductDetailEntity); + } + + @Override + public boolean insertInvProducts(List invProductDetailEntitys) { + return invPreProductDetailDao.insertInvProductDetails(invProductDetailEntitys); + } + + @Override + public boolean updateInvProduct(InvProductDetailEntity invProductDetailEntity) { + return invPreProductDetailDao.updateInvProductDetail(invProductDetailEntity); + } + + @Override + public boolean deleteById(String id) { + return invPreProductDetailDao.deleteById(id); + } + + @Override + public boolean deleteByProductId(FilterInvProductDetailRequest filterInvProductDetailRequest) { + return invPreProductDetailDao.deleteByProductId(filterInvProductDetailRequest); + } + + @Override + public int statCount(FilterInvProductDetailRequest filterInvProductDetailRequest) { + return invPreProductDetailDao.statCount(filterInvProductDetailRequest); + } +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvPreProductServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvPreProductServiceImpl.java new file mode 100644 index 00000000..5f881a6b --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvPreProductServiceImpl.java @@ -0,0 +1,85 @@ +package com.glxp.api.admin.service.inventory.impl; + +import com.github.pagehelper.PageHelper; +import com.glxp.api.admin.dao.inventory.InvPreProductDao; +import com.glxp.api.admin.entity.inventory.InvProductEntity; +import com.glxp.api.admin.req.inventory.FilterInvProductRequest; +import com.glxp.api.admin.res.inventory.InvProductResponse; +import com.glxp.api.admin.service.inventory.InvPreProductService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + + +@Service +public class InvPreProductServiceImpl implements InvPreProductService { + + @Resource + InvPreProductDao invPreProductDao; + + @Override + public List filterInvProduct(FilterInvProductRequest filterInvProductRequest) { + if (filterInvProductRequest == null) { + return Collections.emptyList(); + } + if (filterInvProductRequest.getPage() != null) { + int offset = (filterInvProductRequest.getPage() - 1) * filterInvProductRequest.getLimit(); + PageHelper.offsetPage(offset, filterInvProductRequest.getLimit()); + } + List data = invPreProductDao.filterInvProduct(filterInvProductRequest); + return data; + } + + @Override + public List filterJoinInvProduct(FilterInvProductRequest filterInvProductRequest) { + if (filterInvProductRequest == null) { + return Collections.emptyList(); + } + if (filterInvProductRequest.getPage() != null) { + int offset = (filterInvProductRequest.getPage() - 1) * filterInvProductRequest.getLimit(); + PageHelper.offsetPage(offset, filterInvProductRequest.getLimit()); + } + List data = invPreProductDao.filterJoinInvProduct(filterInvProductRequest); + return data; + } + + @Override + public InvProductEntity selectByUuid(String uuid, String batchNo, String supId, String invStorageCode, String invWarehouseCode) { + + return invPreProductDao.selectByUuid(uuid, batchNo, supId, invStorageCode, invWarehouseCode); + + // FilterInvProductRequest filterInvProductRequest = new FilterInvProductRequest(); +// filterInvProductRequest.setRelIdFk(uuid); +// filterInvProductRequest.setBatchNo(batchNo); +// filterInvProductRequest.setSupId(supId); +// filterInvProductRequest.setInvWarehouseCode(invWarehouseCode); +// filterInvProductRequest.setInvStorageCode(invStorageCode); +// List data = filterInvProduct(filterInvProductRequest); +// if (data != null && data.size() > 0) { +// return data.get(0); +// } +// return null; + } + + @Override + public InvProductEntity selectById(String id) { + return invPreProductDao.selectById(id); + } + + @Override + public boolean insertInvProduct(InvProductEntity invProductEntity) { + return invPreProductDao.insertInvProduct(invProductEntity); + } + + @Override + public boolean updateInvProduct(InvProductEntity invProductEntity) { + return invPreProductDao.updateInvProduct(invProductEntity); + } + + @Override + public boolean deleteById(String id) { + return invPreProductDao.deleteById(id); + } +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvProductServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvProductServiceImpl.java index 6f3b1991..f4fc9a47 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvProductServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvProductServiceImpl.java @@ -1,5 +1,6 @@ package com.glxp.api.admin.service.inventory.impl; +import cn.hutool.core.collection.CollUtil; import com.github.pagehelper.PageHelper; import com.glxp.api.admin.dao.inventory.InvProductDao; import com.glxp.api.admin.entity.inventory.InvProductEntity; @@ -9,8 +10,8 @@ import com.glxp.api.admin.service.inventory.InvProductService; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.util.Collections; -import java.util.List; +import java.util.*; +import java.util.stream.Collectors; @Service public class InvProductServiceImpl implements InvProductService { @@ -45,18 +46,22 @@ public class InvProductServiceImpl implements InvProductService { } @Override - public InvProductEntity selectByUuid(String uuid, String batchNo, String customerId) { - FilterInvProductRequest filterInvProductRequest = new FilterInvProductRequest(); - filterInvProductRequest.setRelIdFk(uuid); - filterInvProductRequest.setBatchNo(batchNo); - filterInvProductRequest.setSupId(customerId); - List data = filterInvProduct(filterInvProductRequest); - if (data != null && data.size() > 0) { - return data.get(0); - } - return null; + public InvProductEntity selectByUuid(String uuid, String batchNo, String supId, String invStorageCode, String invWarehouseCode) { +// FilterInvProductRequest filterInvProductRequest = new FilterInvProductRequest(); +// filterInvProductRequest.setRelIdFk(uuid); +// filterInvProductRequest.setBatchNo(batchNo); +// filterInvProductRequest.setSupId(supId); +// filterInvProductRequest.setInvWarehouseCode(invWarehouseCode); +// filterInvProductRequest.setInvStorageCode(invStorageCode); +// List data = filterInvProduct(filterInvProductRequest); +// if (data != null && data.size() > 0) { +// return data.get(0); +// } +// return null; + return invProductDao.selectByUuid(uuid, batchNo, supId, invStorageCode, invWarehouseCode); } + @Override public InvProductEntity selectById(String id) { return invProductDao.selectById(id); @@ -76,4 +81,33 @@ public class InvProductServiceImpl implements InvProductService { public boolean deleteById(String id) { return invProductDao.deleteById(id); } + + @Override + public List stockStatistics(FilterInvProductRequest filterInvProductRequest) { + if (filterInvProductRequest == null) { + return Collections.emptyList(); + } + List data = invProductDao.stockStatistics(filterInvProductRequest); + if (CollUtil.isNotEmpty(data)) { + //默认根据产品id分组 + Set relIdFkSet = new HashSet<>(); + data.forEach(invProductResponse -> { + relIdFkSet.add(invProductResponse.getRelIdFk()); + }); + + List result = new ArrayList<>(); + + for (String relIdFk : relIdFkSet) { + InvProductResponse invProductResponse = data.stream().filter(product -> product.getRelIdFk().equals(relIdFk)).collect(Collectors.toList()).get(0); + int inCount = data.stream().filter(product -> product.getRelIdFk().equals(relIdFk)).mapToInt(InvProductResponse::getInCount).sum(); + int outCount = data.stream().filter(product -> product.getRelIdFk().equals(relIdFk)).mapToInt(InvProductResponse::getOutCount).sum(); + invProductResponse.setInCount(inCount); + invProductResponse.setOutCount(outCount); + invProductResponse.setReCount(inCount - outCount); + result.add(invProductResponse); + } + return result; + } + return Collections.emptyList(); + } } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvStockPrintServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvStockPrintServiceImpl.java index 52937594..2faa93f4 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvStockPrintServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvStockPrintServiceImpl.java @@ -29,6 +29,22 @@ public class InvStockPrintServiceImpl implements InvStockPrintService { return data; } + + + @Override + public List filterJoinStockPrint(FilterStockprintRequest filterStockprintRequest) { + if (filterStockprintRequest == null) { + return Collections.emptyList(); + } + if(filterStockprintRequest.getPage()!=null){ + int offset = (filterStockprintRequest.getPage() - 1) * filterStockprintRequest.getLimit(); + PageHelper.offsetPage(offset, filterStockprintRequest.getLimit()); + } + + List data = stockPrintDao.filterJoinStockPrint(filterStockprintRequest); + return data; + } + @Override public StockPrintEntity findByNameCode(String nameCode) { String prefix = FilterUdiUtils.getDiStr(nameCode); diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvWarehouseServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvWarehouseServiceImpl.java index 0f4f0140..4dd7e5e2 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvWarehouseServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvWarehouseServiceImpl.java @@ -99,6 +99,31 @@ public class InvWarehouseServiceImpl implements InvWarehouseService { return invWarehouseDao.deleteById(id); } + @Override + public InvWarehouseEntity selectMaxCode(FilterInvWarehouseRequest filterInvWarehouseRequest) { + return invWarehouseDao.selectMaxCode(filterInvWarehouseRequest); + } + + @Override + public List filterAllByUser(FilterInvWarehouseRequest filterInvWarehouseRequest) { + if (filterInvWarehouseRequest == null) { + return Collections.emptyList(); + } + if (filterInvWarehouseRequest.getPage() != null) { + int offset = (filterInvWarehouseRequest.getPage() - 1) * filterInvWarehouseRequest.getLimit(); + PageHelper.offsetPage(offset, filterInvWarehouseRequest.getLimit()); + } + List data = invWarehouseDao.filterAllByUser(filterInvWarehouseRequest); + return data; + } + + @Override + public void importInvWarehouse(List invWarehouseEntities) { + if (CollUtil.isNotEmpty(invWarehouseEntities)) { + invWarehouseDao.importInvWarehouse(invWarehouseEntities); + } + } + @Override public boolean bindThrWarehouse(Integer id, Integer thridWarehouseId, String sysId) { return invWarehouseDao.updateThridId(id, thridWarehouseId, sysId); diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/StockPrintTempServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/StockPrintTempServiceImpl.java new file mode 100644 index 00000000..a0be5104 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/StockPrintTempServiceImpl.java @@ -0,0 +1,49 @@ +package com.glxp.api.admin.service.inventory.impl; + +import com.github.pagehelper.PageHelper; +import com.glxp.api.admin.dao.inventory.StockPrintTempDao; +import com.glxp.api.admin.entity.inventory.StockPrintTempEntity; +import com.glxp.api.admin.req.inventory.DeleteStPrintTempRequest; +import com.glxp.api.admin.req.inventory.FilterStPrintTempRequest; +import com.glxp.api.admin.service.inventory.StockPrintTempService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + +@Service +public class StockPrintTempServiceImpl implements StockPrintTempService { + + @Resource + StockPrintTempDao stockPrintTempDao; + + @Override + public List filterStockPrintTempEntity(FilterStPrintTempRequest filterStockprintRequest) { + if (filterStockprintRequest == null) { + return Collections.emptyList(); + } + if (filterStockprintRequest.getPage() != null) { + int offset = (filterStockprintRequest.getPage() - 1) * filterStockprintRequest.getLimit(); + PageHelper.offsetPage(offset, filterStockprintRequest.getLimit()); + } + + List data = stockPrintTempDao.filterStockPrintTempEntity(filterStockprintRequest); + return data; + } + + @Override + public boolean deleteById(DeleteStPrintTempRequest deleteStPrintTempRequest) { + return stockPrintTempDao.deleteById(deleteStPrintTempRequest); + } + + @Override + public boolean insertStockPrintTempEntity(StockPrintTempEntity stockPrintEntity) { + return stockPrintTempDao.insertStockPrintTempEntity(stockPrintEntity); + } + + @Override + public boolean updateStockPrintTempEntity(StockPrintTempEntity stockPrintEntity) { + return stockPrintTempDao.updateStockPrintTempEntity(stockPrintEntity); + } +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/thread/InvProductsTrService.java b/api-admin/src/main/java/com/glxp/api/admin/thread/InvProductsTrService.java index a8521925..9451931f 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/thread/InvProductsTrService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/thread/InvProductsTrService.java @@ -1,17 +1,16 @@ package com.glxp.api.admin.thread; +import cn.hutool.core.util.StrUtil; import com.glxp.api.admin.constant.Constant; import com.glxp.api.admin.constant.ConstantStatus; import com.glxp.api.admin.constant.ConstantType; import com.glxp.api.admin.entity.basic.*; import com.glxp.api.admin.entity.info.CompanyEntity; import com.glxp.api.admin.entity.info.SystemParamConfigEntity; -import com.glxp.api.admin.entity.inout.ErpOrderEntity; -import com.glxp.api.admin.entity.inout.FilterErpOrderRequest; -import com.glxp.api.admin.entity.inout.OrderEntity; -import com.glxp.api.admin.entity.inout.WarehouseEntity; +import com.glxp.api.admin.entity.inout.*; import com.glxp.api.admin.entity.inventory.InvProductDetailEntity; import com.glxp.api.admin.entity.inventory.InvProductEntity; +import com.glxp.api.admin.entity.inventory.InvWarehouseEntity; import com.glxp.api.admin.req.basic.FilterUdiInfoRequest; import com.glxp.api.admin.req.inventory.FilterInvProductDetailRequest; import com.glxp.api.admin.res.basic.UdiRelevanceResponse; @@ -19,12 +18,8 @@ import com.glxp.api.admin.res.inventory.InvProductDetailJoinResponse; import com.glxp.api.admin.service.basic.*; import com.glxp.api.admin.service.info.CompanyService; import com.glxp.api.admin.service.info.SystemParamConfigService; -import com.glxp.api.admin.service.inout.CodesService; -import com.glxp.api.admin.service.inout.CodesTempService; -import com.glxp.api.admin.service.inout.OrderDetailService; -import com.glxp.api.admin.service.inout.OrderService; -import com.glxp.api.admin.service.inventory.InvProductDetailService; -import com.glxp.api.admin.service.inventory.InvProductService; +import com.glxp.api.admin.service.inout.*; +import com.glxp.api.admin.service.inventory.*; import com.glxp.api.admin.util.CustomUtil; import com.glxp.api.admin.util.DateUtil; import com.glxp.api.admin.util.FilterUdiUtils; @@ -39,6 +34,7 @@ import java.util.*; @Service public class InvProductsTrService { + @Resource private OrderService orderService; @Resource @@ -60,6 +56,10 @@ public class InvProductsTrService { @Resource private InvProductDetailService invProductDetailService; @Resource + private InvPreProductService invPreProductService; + @Resource + private InvPreProductDetailService invPreProductDetailService; + @Resource private BussinessChangeTypeService bussinessChangeTypeService; @Resource private BasicUnitMaintainService basicUnitMaintainService; @@ -71,18 +71,20 @@ public class InvProductsTrService { CompanyService companyService; @Resource SystemParamConfigService systemParamConfigService; + @Resource + IOOrderStatusService ioOrderStatusService; + @Resource + InvWarehouseService invWarehouseService; @Async public void genInvProducts(String orderId) { + OrderEntity orderEntity = orderService.findById(orderId); if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_SUCCESS && (orderEntity.getContrastStatus() == ConstantStatus.ORDER_CHECK_SUCCESS || orderEntity.getContrastStatus() == ConstantStatus.ORDER_CHECK_UN)) { BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(orderEntity.getAction()); - if (bussinessTypeEntity.isInnerOrder()) {//内部单据,不计入库存 - return; - } BussinessLocalTypeEntity bussinessLocalTypeEntity = bussinessLocalTypeService.findBTByAction(bussinessTypeEntity.getLocalAction()); FilterErpOrderRequest filterErpOrderRequest = new FilterErpOrderRequest(); @@ -93,23 +95,42 @@ public class InvProductsTrService { List warehouseEntityList = codesService.findByReceiptId(orderId); for (WarehouseEntity warehouseEntity : warehouseEntityList) { ErpOrderEntity erpOrderEntity = getErpOrders(warehouseEntity, erpOrderEntities); - //普通出入库 - InvProductEntity invProductEntity = invProductService.selectByUuid(erpOrderEntity.getGoodsid(), erpOrderEntity.getBatchNo(), warehouseEntity.getSupId()); - if (invProductEntity == null) { - invProductEntity = buildInvProduct(erpOrderEntity.getGoodsid(), erpOrderEntity, orderEntity, warehouseEntity); - invProductEntity.setUnitFk(orderEntity.getFromCorpId()); - invProductService.insertInvProduct(invProductEntity); - } else { - int actCount = getActCount(warehouseEntity); - int count = actCount * warehouseEntity.getCount(); - if (orderEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { - invProductEntity.setOutCount(invProductEntity.getOutCount() + count); - } else if (orderEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { - invProductEntity.setInCount(invProductEntity.getInCount() + count); + if (bussinessTypeEntity.isAdvanceType()) {//预入库,则转存预入库 + InvProductEntity invPreProductEntity = + invPreProductService.selectByUuid(erpOrderEntity.getGoodsid(), erpOrderEntity.getBatchNo(), warehouseEntity.getSupId() + , warehouseEntity.getInvStorageCode(), warehouseEntity.getInvWarehouseCode()); + if (invPreProductEntity == null) { + invPreProductEntity = buildInvProduct(erpOrderEntity.getGoodsid(), erpOrderEntity, orderEntity, warehouseEntity); + invPreProductService.insertInvProduct(invPreProductEntity); + } else { + int actCount = getActCount(warehouseEntity); + int count = actCount * warehouseEntity.getCount(); + if (orderEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { + invPreProductEntity.setOutCount(invPreProductEntity.getOutCount() + count); + } else if (orderEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { + invPreProductEntity.setInCount(invPreProductEntity.getInCount() + count); + } + invPreProductService.updateInvProduct(invPreProductEntity); + } + } else { //普通出入库 + InvProductEntity invProductEntity = invProductService.selectByUuid(erpOrderEntity.getGoodsid(), erpOrderEntity.getBatchNo(), + warehouseEntity.getSupId(), warehouseEntity.getInvStorageCode(), warehouseEntity.getInvWarehouseCode()); + if (invProductEntity == null) { + invProductEntity = buildInvProduct(erpOrderEntity.getGoodsid(), erpOrderEntity, orderEntity, warehouseEntity); + invProductEntity.setUnitFk(orderEntity.getFromCorpId()); + invProductService.insertInvProduct(invProductEntity); + } else { + int actCount = getActCount(warehouseEntity); + int count = actCount * warehouseEntity.getCount(); + if (orderEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { + invProductEntity.setOutCount(invProductEntity.getOutCount() + count); + } else if (orderEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { + invProductEntity.setInCount(invProductEntity.getInCount() + count); + } + invProductService.updateInvProduct(invProductEntity); } - invProductService.updateInvProduct(invProductEntity); - } + } } //根据单据详情与条码生成库存码明细 @@ -126,7 +147,12 @@ public class InvProductsTrService { } if (relId != null) { List invProductDetailEntities; - invProductDetailEntities = buildInvProductDetail(orderId, erpOrderEntity, orderEntity, 2, false); + if (bussinessTypeEntity.isAdvanceType()) {//预入库,则转存预入库 + invProductDetailEntities = buildInvProductDetail(orderId, erpOrderEntity, orderEntity, 1, true); + + } else { + invProductDetailEntities = buildInvProductDetail(orderId, erpOrderEntity, orderEntity, 2, false); + } if (invProductDetailEntities != null && invProductDetailEntities.size() > 0) { mInvProductDetailEntities.addAll(invProductDetailEntities); } @@ -135,58 +161,303 @@ public class InvProductsTrService { } //单据流转 - BussinessChangeTypeEntity bussinessChangeTypeEntity = bussinessChangeTypeService.findFirstByAction(bussinessLocalTypeEntity.getLocalAction()); - if (bussinessLocalTypeEntity.getChangeEnable() && bussinessChangeTypeEntity != null) { + List bussinessChangeTypeEntitys = bussinessChangeTypeService.findByAction(bussinessLocalTypeEntity.getLocalAction()); + if ((bussinessChangeTypeEntitys != null && bussinessChangeTypeEntitys.size() > 0) && bussinessLocalTypeEntity.isChangeEnable()) { + //普通出库 - if (ConstantType.TYPE_OUT.equals(bussinessTypeEntity.getMainAction())) { - List datas = addOutOrder(orderEntity, mInvProductDetailEntities);//1.先计算现有库存, + if (ConstantType.TYPE_OUT.equals(bussinessTypeEntity.getMainAction()) && !bussinessTypeEntity.isAdvanceType()) { + + //补采购入库或寄售转入单 +// List datas = addOutOrder(orderEntity, mInvProductDetailEntities);//1.先计算现有库存, +// List temps = filterMapCodes(datas); + + addUseOutOrder(orderEntity, mInvProductDetailEntities, bussinessChangeTypeEntitys); + + } else if (ConstantType.TYPE_PUT.equals(bussinessTypeEntity.getMainAction()) && !bussinessTypeEntity.isAdvanceType()) + //普通入库补单 + { + BussinessChangeTypeEntity bussinessChangeTypeEntity = bussinessChangeTypeEntitys.get(0); + List datas = addPutOrder(orderEntity, mInvProductDetailEntities); + List temps = filterMapCodes(datas); // insetInv(bussinessTypeEntity.isAdvanceType(), mInvProductDetailEntities);//2.插入当前库存 + buildPreOutOrder(bussinessChangeTypeEntity, temps, orderEntity); //3.生成流转单据 + } else if (ConstantType.TYPE_OUT.equals(bussinessTypeEntity.getMainAction()) && bussinessTypeEntity.isAdvanceType()) { + //寄售出库补单 + BussinessChangeTypeEntity bussinessChangeTypeEntity = bussinessChangeTypeEntitys.get(0); + List datas = addPreOutOrder(orderEntity, mInvProductDetailEntities); List temps = filterMapCodes(datas); - buildInOrder(bussinessChangeTypeEntity, temps, orderEntity); //3.生成流转单据 +// insetInv(bussinessTypeEntity.isAdvanceType(), mInvProductDetailEntities);//2.插入当前库存 + buildPreInOrder(bussinessChangeTypeEntity, temps, orderEntity); //3.生成流转单据 } } else { - insetInv(mInvProductDetailEntities);//2.插入当前库存 + insetInv(bussinessTypeEntity.isAdvanceType(), mInvProductDetailEntities);//2.插入当前库存 } } } - //普通出库补单 - public List addOutOrder(OrderEntity orderEntity, List invProductDetailEntities) { + //普通出库补单-- //补采购入库或寄售转入单 + public void addUseOutOrder(OrderEntity orderEntity, List invProductDetailEntities, List bussinessChangeTypeEntities) { + + BussinessChangeTypeEntity advChangeTypeEntity = null; + BussinessChangeTypeEntity norChangeTypeEntity = null; + BussinessChangeTypeEntity outChangeTypeEntity = null; + BussinessChangeTypeEntity innorChangeTypeEntity = null; + for (BussinessChangeTypeEntity bussinessChangeTypeEntity : bussinessChangeTypeEntities) { + if (bussinessChangeTypeEntity.getChangeType() == ConstantStatus.ORDER_CHANGE_NORMAL_ADV_IN) { + advChangeTypeEntity = bussinessChangeTypeEntity; + } else if (bussinessChangeTypeEntity.getChangeType() == ConstantStatus.ORDER_CHANGE_NORMAL_IN) { + outChangeTypeEntity = bussinessChangeTypeEntity; + } else if (bussinessChangeTypeEntity.getChangeType() == ConstantStatus.ORDER_CHANGE_INNOR_NORMAL_IN) { + innorChangeTypeEntity = bussinessChangeTypeEntity; + } + } List warehouseEntities = codesService.findByReceiptId(orderEntity.getId()); List inList = new ArrayList<>(); + List preiInList = new ArrayList<>(); for (WarehouseEntity warehouseEntity : warehouseEntities) { - //获取普通出入库结余数量 - int actCount = getActCount(warehouseEntity); - UdiInfoEntity udiInfoEntity = getMinDi(warehouseEntity); - String code = warehouseEntity.getCode(); - if (udiInfoEntity.getDiType() == ConstantStatus.DITYPE_PACK || udiInfoEntity.getDiType() == ConstantStatus.DITYPE_SYDY - || (udiInfoEntity.getSjcpbm() != null && !"".equals(udiInfoEntity.getSjcpbm()))) { - warehouseEntity.setNameCode(udiInfoEntity.getNameCode()); - code = FilterUdiUtils.transGlxpNoSerStr(warehouseEntity); -// warehouseEntity.setCode(code); -// warehouseEntity.setCount(actCount * warehouseEntity.getCount()); - } - int invCount = getCountByOrder(null, warehouseEntity.getCode(), warehouseEntity.getSupId()); - if (invCount <= 0) { - invCount = getCountByOrder(null, code, warehouseEntity.getSupId()); - } - if (invCount > 0) { + /** + * 如果出库单据需要缺量自动补录入库单据? + * if(出库单据的当前仓库为1级库,仓库等级=1) + * {可能需要补录的入库单据有两种:《供应商入库》《寄售转入库》} + * else(仓库等级>1) + * {可能需要补录的入库单据有一种:《调拨入库》} + */ + InvWarehouseEntity locWarehouseEntity = invWarehouseService.selectByCode(warehouseEntity.getLocStorageCode()); + + if (locWarehouseEntity.getLevel() == 1 && isAdavnce(warehouseEntity)) {//补寄售转入 + + //获取当前条码实际数量 + int actCount = getActCount(warehouseEntity); + int count = 0; + UdiInfoEntity udiInfoEntity = getMinDi(warehouseEntity); + String code = warehouseEntity.getCode(); + count = actCount * warehouseEntity.getCount(); + /** + * 《寄售转入库》往来单位: + * 单据类型的当前仓库(如果当前仓库有设置,则判断该当前仓库是否为1级库并且仓库类型=寄售,如果没设置,那么往来单位自动为默认寄售仓库),当前仓库:出库单据的当前仓库 + */ + BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(advChangeTypeEntity.getScAction()); + InvWarehouseEntity invWarehouseEntity; + if (!StrUtil.isEmpty(bussinessTypeEntity.getStorageCode())) { + invWarehouseEntity = invWarehouseService.selectByCode(bussinessTypeEntity.getStorageCode()); + if (!invWarehouseEntity.getAdvanceType() || invWarehouseEntity.getLevel() > 1) { + //todo 补单失败,当前仓库设置错误 + orderEntity.setRemark("该补录单,单据类型" + bussinessTypeEntity.getName() + "当前仓库设置错误,无法补单"); + orderEntity.setError(true); + } + } else + invWarehouseEntity = invWarehouseService.findDefault(true, true); + + + int invCount = getCountByOrder(null, udiInfoEntity.getRelId(), warehouseEntity.getBatchNo(), warehouseEntity.getSupId(), warehouseEntity.getLocStorageCode()); + warehouseEntity.setFromCorpId(invWarehouseEntity.getCode()); + warehouseEntity.setFromCorp(invWarehouseEntity.getName()); + if (invCount > 0) {//仓库已存在该产品 + if (count > invCount) { //当前数量>结余数量,说明该产品是无序列号或者是多级包装 + UdiEntity udiEntity = FilterUdiUtils.getUdi(warehouseEntity.getCode()); + if (actCount > invCount) { //该产品实际数量大于结余数量,说明是多级包装,直接补 + preiInList.add(warehouseEntity); + } else if (udiEntity.getSerialNo() == null) { //无序列号(多级包装无序列号的已在上一步被排除),补齐数量 + int lea = count - invCount; + warehouseEntity.setCount(lea / (getActCount(warehouseEntity))); // + preiInList.add(warehouseEntity); + } + } + } else { //结余数量《=0直接补 + warehouseEntity.setCount(count); + preiInList.add(warehouseEntity); + } + InvProductDetailEntity invProductDetailEntity = filterInvByCode(invProductDetailEntities, warehouseEntity.getCode()); + insetInvSingle(false, invProductDetailEntity); + warehouseEntity.setCode(code); + + } else { + int actCount = getActCount(warehouseEntity); + UdiInfoEntity udiInfoEntity = getMinDi(warehouseEntity); + String code = warehouseEntity.getCode(); int count = actCount * warehouseEntity.getCount(); - if (count > invCount) { - int lea = count - invCount; - warehouseEntity.setCount(lea / (getActCount(warehouseEntity))); +// if (udiInfoEntity.getDiType() == ConstantStatus.DITYPE_PACK || udiInfoEntity.getDiType() == ConstantStatus.DITYPE_SYDY +// || (udiInfoEntity.getSjcpbm() != null && !"".equals(udiInfoEntity.getSjcpbm()))) { +// warehouseEntity.setNameCode(udiInfoEntity.getNameCode()); +// code = FilterUdiUtils.transGlxpNoSerStr(warehouseEntity); +// count = actCount * warehouseEntity.getCount(); +// } else { +// count = warehouseEntity.getCount(); +// } + + int invCount = 0; + if (locWarehouseEntity.getLevel() > 1) {//补调拨入库 + /** + * 调拨入库》往来单位:出库单据的当前仓库的父级仓库,当前仓库:出库单据的当前仓库; + */ + InvWarehouseEntity pInWarehouseEntity = invWarehouseService.selectByCode(locWarehouseEntity.getPcode()); + warehouseEntity.setFromCorp(pInWarehouseEntity.getName()); + warehouseEntity.setFromCorpId(pInWarehouseEntity.getCode()); + + invCount = getCountByOrder(null, udiInfoEntity.getRelId(), warehouseEntity.getBatchNo(), warehouseEntity.getSupId(), warehouseEntity.getLocStorageCode()); +// invCount = getCountByOrder(null, warehouseEntity.getCode(), warehouseEntity.getSupId(), locWarehouseEntity.getPcode()); +// if (invCount <= 0) { +// invCount = getCountByOrder(null, code, warehouseEntity.getSupId(), locWarehouseEntity.getPcode()); +// } + norChangeTypeEntity = innorChangeTypeEntity; + } else { //补供应商入库 + /** + * 供应商入库》往来单位:根据产品指定的供应商,当前仓库:出库单据的当前仓库; + */ + //供应商 + warehouseEntity.setFromCorpId(warehouseEntity.getSupId()); + BasicUnitMaintainEntity basicUnitMaintainEntity = basicUnitMaintainService.selectByErpId(warehouseEntity.getSupId()); + warehouseEntity.setFromCorp(basicUnitMaintainEntity.getName()); + invCount = getCountByOrder(null, udiInfoEntity.getRelId(), warehouseEntity.getBatchNo(), warehouseEntity.getSupId(), warehouseEntity.getLocStorageCode()); + +// invCount = getCountByOrder(null, warehouseEntity.getCode(), warehouseEntity.getSupId(), null); +// if (invCount <= 0) { +// invCount = getCountByOrder(null, code, warehouseEntity.getSupId(), null); +// } + norChangeTypeEntity = outChangeTypeEntity; + } + + if (invCount > 0) {//仓库已存在该产品 + if (count > invCount) { //当前数量>结余数量,说明该产品是无序列号或者是多级包装 + UdiEntity udiEntity = FilterUdiUtils.getUdi(warehouseEntity.getCode()); + if (actCount > invCount) { //该产品实际数量大于结余数量,说明是多级包装,直接补 + inList.add(warehouseEntity); + } else if (udiEntity.getSerialNo() == null) { //无序列号(多级包装无序列号的已在上一步被排除),补齐数量 + int lea = count - invCount; + warehouseEntity.setCount(lea / (getActCount(warehouseEntity))); // + inList.add(warehouseEntity); + } + } + } else { //结余数量《=0直接补 + warehouseEntity.setCount(count); inList.add(warehouseEntity); } - } else { - inList.add(warehouseEntity); +// if (invCount > 0) { +// if (count > invCount) { +// int lea = count - invCount; +// warehouseEntity.setCount(lea / getActCount(warehouseEntity)); +// inList.add(warehouseEntity); +// } +// } else { +// warehouseEntity.setCount(count); +// inList.add(warehouseEntity); +// } + InvProductDetailEntity invProductDetailEntity = filterInvByCode(invProductDetailEntities, warehouseEntity.getCode()); + insetInvSingle(false, invProductDetailEntity); + warehouseEntity.setCode(code); + } + + } + + if (inList.size() > 0) { + List temps = filterMapCodes(inList); + buildInOrder(norChangeTypeEntity, temps, orderEntity); //3.生成采购入库流转单据 + } + + if (preiInList.size() > 0) { + List temps1 = filterMapCodes(preiInList); + buildNorPreInOrder(advChangeTypeEntity, temps1, orderEntity); //3.补寄售转入 + } + } + + +// public List addOutOrder(OrderEntity +// orderEntity, List invProductDetailEntities) { +// List warehouseEntities = codesService.findByReceiptId(orderEntity.getId()); +// List inList = new ArrayList<>(); +// for (WarehouseEntity warehouseEntity : warehouseEntities) { +// //获取普通出入库结余数量 +// int actCount = getActCount(warehouseEntity); +// int count = 0; +// UdiInfoEntity udiInfoEntity = getMinDi(warehouseEntity); +// String code = warehouseEntity.getCode(); +// if (udiInfoEntity.getDiType() == ConstantStatus.DITYPE_PACK || udiInfoEntity.getDiType() == ConstantStatus.DITYPE_SYDY +// || (udiInfoEntity.getSjcpbm() != null && !"".equals(udiInfoEntity.getSjcpbm()))) { +// warehouseEntity.setNameCode(udiInfoEntity.getNameCode()); +// code = FilterUdiUtils.transGlxpNoSerStr(warehouseEntity); +// count = actCount * warehouseEntity.getCount(); +// } else { +// count = warehouseEntity.getCount(); +// } +// int invCount = getCountByOrder(null, warehouseEntity.getCode(), warehouseEntity.getSupId()); +// if (invCount <= 0) { +// invCount = getCountByOrder(null, code, warehouseEntity.getSupId()); +// } +// if (invCount > 0) { +// if (count > invCount) { +// int lea = count - invCount; +// warehouseEntity.setCount(lea / actCount); +// inList.add(warehouseEntity); +// } +// } else { +// warehouseEntity.setCount(count); +// inList.add(warehouseEntity); +// } +// InvProductDetailEntity invProductDetailEntity = filterInvByCode(invProductDetailEntities, warehouseEntity.getCode()); +// insetInvSingle(false, invProductDetailEntity); +// warehouseEntity.setCode(code); +// } +// return inList; +// } + + //普通入库补单 + public List addPutOrder(OrderEntity + orderEntity, List invProductDetailEntities) { + List warehouseEntities = codesService.findByReceiptId(orderEntity.getId()); + List preOutList = new ArrayList<>(); + for (WarehouseEntity warehouseEntity : warehouseEntities) { + if (isAdavnce(warehouseEntity)) { + preOutList.add(warehouseEntity); + } + InvProductDetailEntity invProductDetailEntity = filterInvByCode(invProductDetailEntities, warehouseEntity.getCode()); + insetInvSingle(false, invProductDetailEntity); + } + return preOutList; + } + + //寄售出库补单 + public List addPreOutOrder(OrderEntity + orderEntity, List invProductDetailEntities) { + + + List warehouseEntities = codesService.findByReceiptId(orderEntity.getId()); + List prePutList = new ArrayList<>(); + for (WarehouseEntity warehouseEntity : warehouseEntities) { + int actCount = getActCount(warehouseEntity); + int count = actCount * warehouseEntity.getCount(); +// String code = warehouseEntity.getCode(); + UdiInfoEntity udiInfoEntity = getMinDi(warehouseEntity); +// if (udiInfoEntity.getDiType() == ConstantStatus.DITYPE_PACK || udiInfoEntity.getDiType() == ConstantStatus.DITYPE_SYDY +// || (udiInfoEntity.getSjcpbm() != null && !"".equals(udiInfoEntity.getSjcpbm()))) { +// warehouseEntity.setNameCode(udiInfoEntity.getNameCode()); +// code = FilterUdiUtils.transGlxpNoSerStr(warehouseEntity); +// count = actCount * warehouseEntity.getCount(); +// } else { +// count = warehouseEntity.getCount(); +// } + //获取寄售出入库结余数量 + int invCount = getPreCountByOrder(null, udiInfoEntity.getRelId(), warehouseEntity.getBatchNo(), warehouseEntity.getSupId(), warehouseEntity.getLocStorageCode()); + if (invCount > 0) {//仓库已存在该产品 + if (count > invCount) { //当前数量>结余数量,说明该产品是无序列号或者是多级包装 + UdiEntity udiEntity = FilterUdiUtils.getUdi(warehouseEntity.getCode()); + if (actCount > invCount) { //该产品实际数量大于结余数量,说明是多级包装,直接补 + prePutList.add(warehouseEntity); + } else if (udiEntity.getSerialNo() == null) { //无序列号(多级包装无序列号的已在上一步被排除),补齐数量 + int lea = count - invCount; + warehouseEntity.setCount(lea / (getActCount(warehouseEntity))); // + prePutList.add(warehouseEntity); + } + } + } else { //结余数量《=0直接补 + warehouseEntity.setCount(count); + prePutList.add(warehouseEntity); } InvProductDetailEntity invProductDetailEntity = filterInvByCode(invProductDetailEntities, warehouseEntity.getCode()); - insetInvSingle(invProductDetailEntity); - warehouseEntity.setCode(code); + insetInvSingle(true, invProductDetailEntity); } - return inList; + return prePutList; } @@ -204,6 +475,151 @@ public class InvProductsTrService { } + //生成寄售出库单据 + public void buildPreOutOrder(BussinessChangeTypeEntity + bussinessChangeTypeEntity, List preOutList, OrderEntity orderEntity) { + if (preOutList == null || preOutList.size() <= 0) { + return; + } + InvWarehouseEntity invWarehouseEntity = invWarehouseService.selectByCode(orderEntity.getLocStorageCode()); + InvWarehouseEntity defaultWarehouseEntity = invWarehouseService.findDefault(true, true); + //寄售出库生成单据 + OrderEntity outOrder = new OrderEntity(); + BeanUtils.copyProperties(orderEntity, outOrder); + outOrder.setActDate(DateUtil.getBeforeDay(outOrder.getActDate(), bussinessChangeTypeEntity.getBeforeTime())); + outOrder.setAction(bussinessChangeTypeEntity.getScAction()); + outOrder.setMainAction(ConstantType.TYPE_OUT); + SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("additional_auto_submit"); + if ("1".equals(systemParamConfigEntity.getParamValue())) { + outOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); + } else { + outOrder.setStatus(ConstantStatus.ORDER_STATUS_ADDITIONAL); + } + + outOrder.setContrastStatus(ConstantStatus.ORDER_CHECK_UN); + outOrder.setErpFk(null); + outOrder.setCustomerId(Constant.SYSTEM_CUSTOMER_ID); + outOrder.setId("SM" + CustomUtil.getId()); + outOrder.setFromCorp(invWarehouseEntity.getName()); + outOrder.setFromCorpId(invWarehouseEntity.getCode()); + outOrder.setLocStorageCode(defaultWarehouseEntity.getCode()); +// outOrder.setFromCorp(companyEntity.getCompanyName()); +// outOrder.setFromCorpId(companyEntity.getUnitIdFk()); + orderService.insertOrder(outOrder); + for (WarehouseEntity warehouseEntity : preOutList) { + warehouseEntity.setOrderId(outOrder.getId()); + warehouseEntity.setFromCorp(invWarehouseEntity.getName()); + warehouseEntity.setFromCorpId(invWarehouseEntity.getCode()); + warehouseEntity.setId(null); + warehouseEntity.setLocStorageCode(defaultWarehouseEntity.getCode()); + warehouseEntity.setAction(bussinessChangeTypeEntity.getScAction()); + warehouseEntity.setMainAction(ConstantType.TYPE_OUT); + } + codesTempService.insertCodesTemp(preOutList); +// ioTransInoutService.transInout(outOrder.getId()); + } + + //生成寄售入库单据 + public void buildPreInOrder(BussinessChangeTypeEntity + bussinessChangeTypeEntity, List useInList, OrderEntity orderEntity) { + if (useInList.size() <= 0) { + return; + } + + //采购入库生成单据 + Map> filterSupMaps = new HashMap<>(); + List unkonwCorpList = new ArrayList<>(); + + //根据库存,过滤供应商,条码分组 + for (WarehouseEntity warehouseEntity : useInList) { + if (warehouseEntity.getSupId() != null) { + if (filterSupMaps.get(warehouseEntity.getSupId()) == null) { + List temps = new ArrayList<>(); + temps.add(warehouseEntity); + filterSupMaps.put(warehouseEntity.getSupId(), temps); + } else { + filterSupMaps.get(warehouseEntity.getSupId()).add(warehouseEntity); + } + } else + unkonwCorpList.add(warehouseEntity); + } + + //有供应商生成采购入库单据 + for (String corpName : filterSupMaps.keySet()) { + List temps; + temps = filterSupMaps.get(corpName); + OrderEntity outOrder = new OrderEntity(); + BeanUtils.copyProperties(orderEntity, outOrder); + outOrder.setActDate(DateUtil.getBeforeDay(outOrder.getActDate(), bussinessChangeTypeEntity.getBeforeTime())); + outOrder.setAction(bussinessChangeTypeEntity.getScAction()); + outOrder.setMainAction(ConstantType.TYPE_PUT); + SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("additional_auto_submit"); + if ("1".equals(systemParamConfigEntity.getParamValue())) { + outOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); + } else { + outOrder.setStatus(ConstantStatus.ORDER_STATUS_ADDITIONAL); + } + + outOrder.setCustomerId(Constant.SYSTEM_CUSTOMER_ID); + outOrder.setContrastStatus(ConstantStatus.ORDER_CHECK_UN); + outOrder.setErpFk(null); + outOrder.setFromType(ConstantStatus.FROM_CHANGE); + outOrder.setId("SM" + CustomUtil.getId()); + BasicUnitMaintainEntity basicUnitMaintainEntity = basicUnitMaintainService.selectByErpId(corpName); + outOrder.setFromCorp(basicUnitMaintainEntity.getName()); + outOrder.setFromCorpId(corpName); + outOrder.setLocStorageCode(orderEntity.getLocStorageCode()); + orderService.insertOrder(outOrder); + for (WarehouseEntity warehouseEntity : temps) { + warehouseEntity.setOrderId(outOrder.getId()); + warehouseEntity.setId(null); + warehouseEntity.setFromCorp(outOrder.getFromCorp()); + warehouseEntity.setFromCorpId(outOrder.getFromCorpId()); + warehouseEntity.setLocStorageCode(outOrder.getLocStorageCode()); + warehouseEntity.setAction(bussinessChangeTypeEntity.getScAction()); + warehouseEntity.setMainAction(ConstantType.TYPE_PUT); + } + codesTempService.insertCodesTemp(temps); +// ioTransInoutService.transInout(outOrder.getId()); + } + + + //无供应商,一个条码生成一个错误单据,到时候利用单据合并生成同一个单据 + for (WarehouseEntity warehouseEntity : unkonwCorpList) { + OrderEntity outOrder = new OrderEntity(); + BeanUtils.copyProperties(orderEntity, outOrder); + outOrder.setActDate(DateUtil.getBeforeDay(outOrder.getActDate(), bussinessChangeTypeEntity.getBeforeTime())); + outOrder.setAction(bussinessChangeTypeEntity.getScAction()); + outOrder.setMainAction(ConstantType.TYPE_PUT); + SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("additional_auto_submit"); + if ("1".equals(systemParamConfigEntity.getParamValue())) { + outOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); + } else { + outOrder.setStatus(ConstantStatus.ORDER_STATUS_ADDITIONAL); + } + + outOrder.setContrastStatus(ConstantStatus.ORDER_CHECK_UN); + outOrder.setRemark("未选择供应商"); + outOrder.setErpFk(null); + outOrder.setId("SM" + CustomUtil.getId()); + outOrder.setFromCorp(null); + outOrder.setCustomerId(Constant.SYSTEM_CUSTOMER_ID); + outOrder.setFromCorpId(null); + outOrder.setLocStorageCode(orderEntity.getLocStorageCode()); + orderService.insertOrder(outOrder); + warehouseEntity.setOrderId(outOrder.getId()); + warehouseEntity.setId(null); + warehouseEntity.setAction(bussinessChangeTypeEntity.getScAction()); + warehouseEntity.setMainAction(ConstantType.TYPE_PUT); + warehouseEntity.setFromCorp(null); + warehouseEntity.setFromCorpId(null); + warehouseEntity.setLocStorageCode(outOrder.getLocStorageCode()); + codesTempService.insertCodesTempSingle(warehouseEntity); + } + + + } + //生成普通入库单据 public void buildInOrder(BussinessChangeTypeEntity bussinessChangeTypeEntity, List useInList, OrderEntity orderEntity) { @@ -213,7 +629,71 @@ public class InvProductsTrService { //采购入库生成单据 Map> filterSupMaps = new HashMap<>(); List unkonwCorpList = new ArrayList<>(); + //根据库存,过滤供应商,条码分组 + for (WarehouseEntity warehouseEntity : useInList) { + if (warehouseEntity.getFromCorpId() != null) { + if (filterSupMaps.get(warehouseEntity.getFromCorpId()) == null) { + List temps = new ArrayList<>(); + temps.add(warehouseEntity); + filterSupMaps.put(warehouseEntity.getFromCorpId(), temps); + } else { + filterSupMaps.get(warehouseEntity.getFromCorpId()).add(warehouseEntity); + } + } else + unkonwCorpList.add(warehouseEntity); + } + //根据往来单位生成入库单 + for (String corpName : filterSupMaps.keySet()) { + List temps; + temps = filterSupMaps.get(corpName); + OrderEntity outOrder = new OrderEntity(); + BeanUtils.copyProperties(orderEntity, outOrder); + outOrder.setSupplementNo(null);//补单需置空 + outOrder.setActDate(DateUtil.getBeforeDay(outOrder.getActDate(), bussinessChangeTypeEntity.getBeforeTime())); + outOrder.setAction(bussinessChangeTypeEntity.getScAction()); + outOrder.setMainAction(ConstantType.TYPE_PUT); + outOrder.setContrastStatus(ConstantStatus.ORDER_CHECK_UN); + outOrder.setCustomerId(Constant.SYSTEM_CUSTOMER_ID); + outOrder.setErpFk(null); + outOrder.setFromType(ConstantStatus.FROM_CHANGE); + outOrder.setId("SM" + CustomUtil.getId()); + outOrder.setFromCorpId(corpName); + outOrder.setFromCorp(temps.get(0).getFromCorp()); + outOrder.setLocStorageCode(orderEntity.getLocStorageCode()); + SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("additional_auto_submit"); + if ("1".equals(systemParamConfigEntity.getParamValue())) { + outOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); + } else { + outOrder.setStatus(ConstantStatus.ORDER_STATUS_ADDITIONAL); + } + + orderService.insertOrder(outOrder); + for (WarehouseEntity warehouseEntity : temps) { + warehouseEntity.setOrderId(outOrder.getId()); + warehouseEntity.setId(null); + warehouseEntity.setFromCorp(outOrder.getFromCorp()); + warehouseEntity.setFromCorpId(outOrder.getFromCorpId()); + warehouseEntity.setLocStorageCode(outOrder.getLocStorageCode()); + warehouseEntity.setAction(bussinessChangeTypeEntity.getScAction()); + warehouseEntity.setMainAction(ConstantType.TYPE_PUT); + } + codesTempService.insertCodesTemp(temps); + } + + + } + + //生成普通入库单据 + public void buildInOrder2(BussinessChangeTypeEntity + bussinessChangeTypeEntity, List useInList, OrderEntity orderEntity) { + if (useInList.size() <= 0) { + return; + } + //采购入库生成单据 + Map> filterSupMaps = new HashMap<>(); + List unkonwCorpList = new ArrayList<>(); +// InvWarehouseEntity invWarehouseEntity = invWarehouseService.findDefault(false, true); //根据库存,过滤供应商,条码分组 for (WarehouseEntity warehouseEntity : useInList) { if (warehouseEntity.getSupId() != null) { @@ -238,12 +718,14 @@ public class InvProductsTrService { outOrder.setAction(bussinessChangeTypeEntity.getScAction()); outOrder.setMainAction(ConstantType.TYPE_PUT); outOrder.setContrastStatus(ConstantStatus.ORDER_CHECK_UN); + outOrder.setCustomerId(Constant.SYSTEM_CUSTOMER_ID); outOrder.setErpFk(null); outOrder.setFromType(ConstantStatus.FROM_CHANGE); - outOrder.setId(CustomUtil.getId()); + outOrder.setId("SM" + CustomUtil.getId()); BasicUnitMaintainEntity basicUnitMaintainEntity = basicUnitMaintainService.selectByErpId(corpName); outOrder.setFromCorp(basicUnitMaintainEntity.getName()); outOrder.setFromCorpId(corpName); + outOrder.setLocStorageCode(orderEntity.getLocStorageCode()); SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("additional_auto_submit"); if ("1".equals(systemParamConfigEntity.getParamValue())) { outOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); @@ -255,6 +737,9 @@ public class InvProductsTrService { for (WarehouseEntity warehouseEntity : temps) { warehouseEntity.setOrderId(outOrder.getId()); warehouseEntity.setId(null); + warehouseEntity.setFromCorp(outOrder.getFromCorp()); + warehouseEntity.setFromCorpId(outOrder.getFromCorpId()); + warehouseEntity.setLocStorageCode(outOrder.getLocStorageCode()); warehouseEntity.setAction(bussinessChangeTypeEntity.getScAction()); warehouseEntity.setMainAction(ConstantType.TYPE_PUT); } @@ -280,8 +765,9 @@ public class InvProductsTrService { outOrder.setContrastStatus(ConstantStatus.ORDER_CHECK_UN); outOrder.setRemark("未选择供应商"); outOrder.setErpFk(null); - outOrder.setId(CustomUtil.getId()); + outOrder.setId("SM" + CustomUtil.getId()); outOrder.setFromCorp(null); + outOrder.setLocStorageCode(orderEntity.getLocStorageCode()); outOrder.setFromCorpId(null); orderService.insertOrder(outOrder); warehouseEntity.setOrderId(outOrder.getId()); @@ -290,6 +776,180 @@ public class InvProductsTrService { warehouseEntity.setMainAction(ConstantType.TYPE_PUT); warehouseEntity.setFromCorp(null); warehouseEntity.setFromCorpId(null); + warehouseEntity.setLocStorageCode(outOrder.getLocStorageCode()); + codesTempService.insertCodesTempSingle(warehouseEntity); + } + + + } + + //生成寄售转入单据 + public void buildNorPreInOrder(BussinessChangeTypeEntity + bussinessChangeTypeEntity, List useInList, OrderEntity orderEntity) { + if (useInList.size() <= 0) { + return; + } + //采购入库生成单据 + Map> filterSupMaps = new HashMap<>(); + List unkonwCorpList = new ArrayList<>(); + //根据库存,过滤供应商,条码分组 + for (WarehouseEntity warehouseEntity : useInList) { + if (warehouseEntity.getFromCorpId() != null) { + if (filterSupMaps.get(warehouseEntity.getFromCorpId()) == null) { + List temps = new ArrayList<>(); + temps.add(warehouseEntity); + filterSupMaps.put(warehouseEntity.getFromCorpId(), temps); + } else { + filterSupMaps.get(warehouseEntity.getFromCorpId()).add(warehouseEntity); + } + } else + unkonwCorpList.add(warehouseEntity); + } + + //有供应商生成采购入库单据 + for (String corpName : filterSupMaps.keySet()) { + List temps; + temps = filterSupMaps.get(corpName); + OrderEntity outOrder = new OrderEntity(); + BeanUtils.copyProperties(orderEntity, outOrder); + outOrder.setActDate(DateUtil.getBeforeDay(outOrder.getActDate(), bussinessChangeTypeEntity.getBeforeTime())); + outOrder.setAction(bussinessChangeTypeEntity.getScAction()); + outOrder.setMainAction(ConstantType.TYPE_PUT); + if (orderEntity.isError()) { + outOrder.setContrastStatus(ConstantStatus.ORDER_CHECK_FAIL); + } else { + outOrder.setContrastStatus(ConstantStatus.ORDER_CHECK_UN); + } + outOrder.setRemark(orderEntity.getRemark()); + outOrder.setCustomerId(Constant.SYSTEM_CUSTOMER_ID); + outOrder.setFromCorp(temps.get(0).getFromCorp()); + outOrder.setFromCorpId(temps.get(0).getFromCorpId()); + outOrder.setLocStorageCode(orderEntity.getLocStorageCode()); + outOrder.setErpFk(null); + outOrder.setFromType(ConstantStatus.FROM_CHANGE); + outOrder.setId("SM" + CustomUtil.getId()); +// BasicUnitMaintainEntity basicUnitMaintainEntity = basicUnitMaintainService.selectByErpId(corpName); +// outOrder.setFromCorp(basicUnitMaintainEntity.getName()); +// outOrder.setFromCorpId(corpName); + SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("additional_auto_submit"); + if ("1".equals(systemParamConfigEntity.getParamValue())) { + outOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); + } else { + outOrder.setStatus(ConstantStatus.ORDER_STATUS_ADDITIONAL); + } + + orderService.insertOrder(outOrder); + for (WarehouseEntity warehouseEntity : temps) { + warehouseEntity.setOrderId(outOrder.getId()); + warehouseEntity.setId(null); + warehouseEntity.setFromCorp(outOrder.getFromCorp()); + warehouseEntity.setFromCorpId(outOrder.getFromCorpId()); + warehouseEntity.setLocStorageCode(outOrder.getLocStorageCode()); + warehouseEntity.setAction(bussinessChangeTypeEntity.getScAction()); + warehouseEntity.setMainAction(ConstantType.TYPE_PUT); + } + codesTempService.insertCodesTemp(temps); +// ioTransInoutService.transInout(outOrder.getId()); + } + + + } + + //生成寄售转入单据 + public void buildNorPreInOrder2(BussinessChangeTypeEntity + bussinessChangeTypeEntity, List useInList, OrderEntity orderEntity) { + if (useInList.size() <= 0) { + return; + } + //采购入库生成单据 + Map> filterSupMaps = new HashMap<>(); + List unkonwCorpList = new ArrayList<>(); + InvWarehouseEntity invWarehouseEntity = invWarehouseService.findDefault(true, true); + //根据库存,过滤供应商,条码分组 + for (WarehouseEntity warehouseEntity : useInList) { + if (warehouseEntity.getSupId() != null) { + if (filterSupMaps.get(warehouseEntity.getSupId()) == null) { + List temps = new ArrayList<>(); + temps.add(warehouseEntity); + filterSupMaps.put(warehouseEntity.getSupId(), temps); + } else { + filterSupMaps.get(warehouseEntity.getSupId()).add(warehouseEntity); + } + } else + unkonwCorpList.add(warehouseEntity); + } + + //有供应商生成采购入库单据 + for (String corpName : filterSupMaps.keySet()) { + List temps; + temps = filterSupMaps.get(corpName); + OrderEntity outOrder = new OrderEntity(); + BeanUtils.copyProperties(orderEntity, outOrder); + outOrder.setActDate(DateUtil.getBeforeDay(outOrder.getActDate(), bussinessChangeTypeEntity.getBeforeTime())); + outOrder.setAction(bussinessChangeTypeEntity.getScAction()); + outOrder.setMainAction(ConstantType.TYPE_PUT); + outOrder.setContrastStatus(ConstantStatus.ORDER_CHECK_UN); + outOrder.setCustomerId(Constant.SYSTEM_CUSTOMER_ID); + outOrder.setFromCorp(invWarehouseEntity.getName()); + outOrder.setFromCorpId(invWarehouseEntity.getCode()); + outOrder.setLocStorageCode(orderEntity.getLocStorageCode()); + outOrder.setErpFk(null); + outOrder.setFromType(ConstantStatus.FROM_CHANGE); + outOrder.setId("SM" + CustomUtil.getId()); +// BasicUnitMaintainEntity basicUnitMaintainEntity = basicUnitMaintainService.selectByErpId(corpName); +// outOrder.setFromCorp(basicUnitMaintainEntity.getName()); +// outOrder.setFromCorpId(corpName); + SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("additional_auto_submit"); + if ("1".equals(systemParamConfigEntity.getParamValue())) { + outOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); + } else { + outOrder.setStatus(ConstantStatus.ORDER_STATUS_ADDITIONAL); + } + + orderService.insertOrder(outOrder); + for (WarehouseEntity warehouseEntity : temps) { + warehouseEntity.setOrderId(outOrder.getId()); + warehouseEntity.setId(null); + warehouseEntity.setFromCorp(outOrder.getFromCorp()); + warehouseEntity.setFromCorpId(outOrder.getFromCorpId()); + warehouseEntity.setLocStorageCode(outOrder.getLocStorageCode()); + warehouseEntity.setAction(bussinessChangeTypeEntity.getScAction()); + warehouseEntity.setMainAction(ConstantType.TYPE_PUT); + } + codesTempService.insertCodesTemp(temps); +// ioTransInoutService.transInout(outOrder.getId()); + } + + + //无供应商,一个条码生成一个错误单据,到时候利用单据合并生成同一个单据 + for (WarehouseEntity warehouseEntity : unkonwCorpList) { + OrderEntity outOrder = new OrderEntity(); + BeanUtils.copyProperties(orderEntity, outOrder); + outOrder.setActDate(DateUtil.getBeforeDay(outOrder.getActDate(), bussinessChangeTypeEntity.getBeforeTime())); + outOrder.setAction(bussinessChangeTypeEntity.getScAction()); + outOrder.setMainAction(ConstantType.TYPE_PUT); + SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("additional_auto_submit"); + if ("1".equals(systemParamConfigEntity.getParamValue())) { + outOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); + } else { + outOrder.setStatus(ConstantStatus.ORDER_STATUS_ADDITIONAL); + } + + outOrder.setContrastStatus(ConstantStatus.ORDER_CHECK_UN); + outOrder.setRemark("未选择供应商"); + outOrder.setErpFk(null); + outOrder.setId("SM" + CustomUtil.getId()); + outOrder.setFromCorp(invWarehouseEntity.getName()); + outOrder.setFromCorpId(invWarehouseEntity.getCode()); + outOrder.setLocStorageCode(orderEntity.getLocStorageCode()); + orderService.insertOrder(outOrder); + warehouseEntity.setOrderId(outOrder.getId()); + warehouseEntity.setId(null); + warehouseEntity.setAction(bussinessChangeTypeEntity.getScAction()); + warehouseEntity.setMainAction(ConstantType.TYPE_PUT); + warehouseEntity.setFromCorp(outOrder.getFromCorp()); + warehouseEntity.setFromCorpId(outOrder.getFromCorpId()); + warehouseEntity.setLocStorageCode(outOrder.getLocStorageCode()); codesTempService.insertCodesTempSingle(warehouseEntity); } @@ -298,10 +958,12 @@ public class InvProductsTrService { //生成库存 - private InvProductEntity buildInvProduct(String relId, ErpOrderEntity erpOrderEntity, OrderEntity orderEntity, WarehouseEntity warehouseEntity) { + private InvProductEntity buildInvProduct(String relId, ErpOrderEntity erpOrderEntity, OrderEntity + orderEntity, WarehouseEntity warehouseEntity) { InvProductEntity invProductEntity = new InvProductEntity(); invProductEntity.setRelIdFk(relId); invProductEntity.setBatchNo(erpOrderEntity.getBatchNo()); + invProductEntity.setCustomerId(orderEntity.getCustomerId()); invProductEntity.setExpireDate(erpOrderEntity.getExpireDate()); invProductEntity.setProductionDate(erpOrderEntity.getProductDate()); invProductEntity.setGgxh(erpOrderEntity.getPackSpec()); @@ -310,6 +972,8 @@ public class InvProductsTrService { invProductEntity.setProductsName(erpOrderEntity.getCoName()); invProductEntity.setYlqxzcrbarmc(erpOrderEntity.getProductCompany()); invProductEntity.setZczbhhzbapzbh(erpOrderEntity.getAuthCode()); + invProductEntity.setInvStorageCode(warehouseEntity.getInvStorageCode()); + invProductEntity.setInvWarehouseCode(warehouseEntity.getInvWarehouseCode()); int count = getActCount(warehouseEntity) * warehouseEntity.getCount(); if (orderEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { invProductEntity.setOutCount(count); @@ -350,6 +1014,8 @@ public class InvProductsTrService { invProductDetailEntity.setExpireDate(warehouseEntity.getExpireDate()); invProductDetailEntity.setAction(warehouseEntity.getAction()); invProductDetailEntity.setMainAction(orderEntity.getMainAction()); + invProductDetailEntity.setInvStorageCode(warehouseEntity.getInvStorageCode()); + invProductDetailEntity.setInvWarehouseCode(warehouseEntity.getWarehouseCode()); invProductDetailEntity.setOrderIdFk(warehouseEntity.getOrderId()); invProductDetailEntity.setCount(actCount * warehouseEntity.getCount()); if (purchaseType != null) { @@ -358,6 +1024,7 @@ public class InvProductsTrService { invProductDetailEntity.setStockIdFk(orderEntity.getErpFk()); invProductDetailEntity.setUnitFk(orderEntity.getFromCorpId()); invProductDetailEntity.setUpdateTime(new Date()); + invProductDetailEntity.setCustomerId(orderEntity.getCustomerId()); if (orderEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { if (warehouseEntity.getSupId() != null) { invProductDetailEntity.setSupId(warehouseEntity.getSupId()); @@ -366,7 +1033,11 @@ public class InvProductsTrService { filterInvProductDetailRequest.setMainAction(ConstantType.TYPE_PUT); filterInvProductDetailRequest.setCode(warehouseEntity.getCode()); List temps = null; - temps = invProductDetailService.filterInvProduct(filterInvProductDetailRequest); + if (isPre) { + temps = invPreProductDetailService.filterInvProduct(filterInvProductDetailRequest); + } else { + temps = invProductDetailService.filterInvProduct(filterInvProductDetailRequest); + } if (temps.size() > 0) { invProductDetailEntity.setSupId(temps.get(0).getSupId()); } @@ -383,26 +1054,33 @@ public class InvProductsTrService { return mInvProductDetailEntities; } - public void insetInv(List invProductDetailEntities) { - invProductDetailService.insertInvProducts(invProductDetailEntities); + public void insetInv(boolean isPre, List invProductDetailEntities) { + if (isPre) { + invPreProductDetailService.insertInvProducts(invProductDetailEntities); + } else { + invProductDetailService.insertInvProducts(invProductDetailEntities); + } } - public void insetInvSingle(InvProductDetailEntity invProductDetailEntity) { + public void insetInvSingle(boolean isPre, InvProductDetailEntity invProductDetailEntity) { List invProductDetailEntities = new ArrayList<>(); invProductDetailEntities.add(invProductDetailEntity); - invProductDetailService.insertInvProducts(invProductDetailEntities); + if (isPre) { + invPreProductDetailService.insertInvProducts(invProductDetailEntities); + } else { + invProductDetailService.insertInvProducts(invProductDetailEntities); + } } - public InvProductDetailEntity filterInvByCode(List invProductDetailEntities, String code) { - + public InvProductDetailEntity filterInvByCode(List invProductDetailEntities, String + code) { for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntities) { if (invProductDetailEntity.getOriginCode().equals(code)) { return invProductDetailEntity; } } return null; - } public int getActCount(WarehouseEntity warehouseEntity) { @@ -420,6 +1098,22 @@ public class InvProductsTrService { return 1; } + public int getActCount(String code) { + UdiEntity udiEntity = FilterUdiUtils.getUdi(code); + UdiRelevanceResponse udiInfoBean = udiRelevanceService.selectByNameCode(udiEntity.getUdi()); + if (udiInfoBean != null) { + if (udiInfoBean.getIsUseDy() == 1 && udiInfoBean.getDiType() != 2) { + if (udiInfoBean.getBhzxxsbzsl() == 0) + return udiInfoBean.getZxxsbzbhsydysl(); + else + return udiInfoBean.getZxxsbzbhsydysl() * udiInfoBean.getBhzxxsbzsl(); + } else { + return udiInfoBean.getBhzxxsbzsl(); + } + } + return 1; + } + public boolean isMutiPack(WarehouseEntity warehouseEntity) { UdiRelevanceResponse udiInfoBean = udiRelevanceService.selectByNameCode(warehouseEntity.getNameCode()); List udiInfoEntities = udiInfoService.findByUuids(udiInfoBean.getUuid()); @@ -443,6 +1137,7 @@ public class InvProductsTrService { return udiInfoEntity; } } + udiInfoEntity.setRelId(udiInfoBean.getId() + ""); } } return null; @@ -450,10 +1145,11 @@ public class InvProductsTrService { //根据条码获取库存结余数量 - public int getCountByOrder(String mainAction, String code, String supId) { + public int getCountByOrder(String mainAction, String code, String supId, String invWarehouseCode) { FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); filterInvProductDetailRequest.setCode(code); filterInvProductDetailRequest.setSupId(supId); + filterInvProductDetailRequest.setInvStorageCode(invWarehouseCode); if (mainAction != null) filterInvProductDetailRequest.setMainAction(mainAction); List detailJoinResponseList @@ -472,6 +1168,77 @@ public class InvProductsTrService { return invCount; } + public int getCountByOrder(String mainAction, String relId, String batchNo, String supId, String invWarehouseCode) { + FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); + filterInvProductDetailRequest.setSupId(supId); + filterInvProductDetailRequest.setInvStorageCode(invWarehouseCode); + filterInvProductDetailRequest.setProductIdFk(relId); + filterInvProductDetailRequest.setBatchNo(batchNo); + if (mainAction != null) + filterInvProductDetailRequest.setMainAction(mainAction); + List resultLists = invProductDetailService.filterInvProduct(filterInvProductDetailRequest); + int invCount = 0; + if (resultLists != null && resultLists.size() > 0) { + for (InvProductDetailEntity invProductDetailEntity : resultLists) { + if (invProductDetailEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { + invCount = invCount - invProductDetailEntity.getCount(); + } else { + invCount = invCount + invProductDetailEntity.getCount(); + } + + } + } + return invCount; + } + + + //根据条码获取预入库结余数量 + public int getPreCountByOrder(String mainAction, String code, String supId) { + FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); + filterInvProductDetailRequest.setCode(code); + filterInvProductDetailRequest.setSupId(supId); + if (mainAction != null) + filterInvProductDetailRequest.setMainAction(mainAction); + List detailJoinResponseList + = invPreProductDetailService.filterJoinInvProduct(filterInvProductDetailRequest); + int invCount = 0; + if (detailJoinResponseList != null && detailJoinResponseList.size() > 0) { + for (InvProductDetailJoinResponse invProductDetailJoinResponse : detailJoinResponseList) { + if (invProductDetailJoinResponse.getMainAction().equals(ConstantType.TYPE_OUT)) { + invCount = invCount - invProductDetailJoinResponse.getCount(); + } else { + invCount = invCount + invProductDetailJoinResponse.getCount(); + } + + } + } + return invCount; + } + + + public int getPreCountByOrder(String mainAction, String relId, String batchNo, String supId, String invWarehouseCode) { + FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); + filterInvProductDetailRequest.setSupId(supId); + filterInvProductDetailRequest.setInvStorageCode(invWarehouseCode); + filterInvProductDetailRequest.setProductIdFk(relId); + filterInvProductDetailRequest.setBatchNo(batchNo); + if (mainAction != null) + filterInvProductDetailRequest.setMainAction(mainAction); + List resultLists = invPreProductDetailService.filterInvProduct(filterInvProductDetailRequest); + int invCount = 0; + if (resultLists != null && resultLists.size() > 0) { + for (InvProductDetailEntity invProductDetailEntity : resultLists) { + if (invProductDetailEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { + invCount = invCount - invProductDetailEntity.getCount(); + } else { + invCount = invCount + invProductDetailEntity.getCount(); + } + + } + } + return invCount; + } + //根据条码获取库存结余数量 public int getCountByProduct(String mainAction, String productId, String batchNo, String supId) { @@ -496,6 +1263,30 @@ public class InvProductsTrService { return invCount; } + //根据条码获取预入库结余数量 + public int getPreCountByProduct(String mainAction, String productId, String batchNo, String supId) { + FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); + filterInvProductDetailRequest.setProductIdFk(productId); + filterInvProductDetailRequest.setBatchNo(batchNo); + filterInvProductDetailRequest.setSupId(supId); + if (mainAction != null) + filterInvProductDetailRequest.setMainAction(mainAction); + List detailJoinResponseList + = invPreProductDetailService.filterJoinInvProduct(filterInvProductDetailRequest); + int invCount = 0; + if (detailJoinResponseList != null && detailJoinResponseList.size() > 0) { + for (InvProductDetailJoinResponse invProductDetailJoinResponse : detailJoinResponseList) { + if (invProductDetailJoinResponse.getMainAction().equals(ConstantType.TYPE_OUT)) { + invCount = invCount - invProductDetailJoinResponse.getCount(); + } else { + invCount = invCount + invProductDetailJoinResponse.getCount(); + } + + } + } + return invCount; + } + //合并条码 public List filterMapCodes(List warehouseEntityList) { Map filterMap = new HashMap<>(); @@ -514,4 +1305,23 @@ public class InvProductsTrService { } return results; } + + + //判断是否是寄售产品 + public boolean isAdavnce(WarehouseEntity warehouseEntity) { + //获取普通出入库结余数量 + FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); +// filterInvProductDetailRequest.setCode(warehouseEntity.getCode()); + filterInvProductDetailRequest.setProductIdFk(warehouseEntity.getRelId()); + filterInvProductDetailRequest.setSupId(warehouseEntity.getSupId()); + List detailJoinResponseList + = invPreProductDetailService.filterJoinInvProduct(filterInvProductDetailRequest); + UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectById(warehouseEntity.getRelId()); + if ((detailJoinResponseList != null && detailJoinResponseList.size() > 0) + || (udiRelevanceEntity.getIsAdavence() != null && udiRelevanceEntity.getIsAdavence()) + ) { + return true; + } else return false; + } + } \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/api/admin/thread/IoErpCheckTask.java b/api-admin/src/main/java/com/glxp/api/admin/thread/IoErpCheckTask.java index eba6494a..5970d2a7 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/thread/IoErpCheckTask.java +++ b/api-admin/src/main/java/com/glxp/api/admin/thread/IoErpCheckTask.java @@ -2,7 +2,9 @@ package com.glxp.api.admin.thread; import com.glxp.api.admin.dao.schedule.ScheduledDao; import com.glxp.api.admin.entity.info.ScheduledEntity; +import com.glxp.api.admin.entity.info.SystemParamConfigEntity; import com.glxp.api.admin.req.info.ScheduledRequest; +import com.glxp.api.admin.service.info.SystemParamConfigService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.scheduling.annotation.EnableScheduling; @@ -22,6 +24,8 @@ public class IoErpCheckTask implements SchedulingConfigurer { protected ScheduledDao scheduledDao; @Resource private IoTransInoutService ioTransInoutService; + @Resource + SystemParamConfigService systemParamConfigService; @Override public void configureTasks(ScheduledTaskRegistrar scheduledTaskRegistrar) { @@ -39,7 +43,12 @@ public class IoErpCheckTask implements SchedulingConfigurer { } private void process() { - logger.info("定时校验ERP单"); - ioTransInoutService.checkOrder(); + + + SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("io_erpcheck_interval"); + if (!"0".equals(systemParamConfigEntity.getParamValue())) { + logger.info("定时校验ERP单"); + ioTransInoutService.checkOrder(); + } } } \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/api/admin/thread/IoTransInoutService.java b/api-admin/src/main/java/com/glxp/api/admin/thread/IoTransInoutService.java index 228b9f78..28b2cdb9 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/thread/IoTransInoutService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/thread/IoTransInoutService.java @@ -10,6 +10,8 @@ import com.glxp.api.admin.controller.inout.utils.InoutUtils; import com.glxp.api.admin.entity.basic.*; import com.glxp.api.admin.entity.business.StockOrderDetailEntity; import com.glxp.api.admin.entity.business.StockOrderEntity; +import com.glxp.api.admin.entity.info.CompanyEntity; +import com.glxp.api.admin.entity.info.SystemParamConfigEntity; import com.glxp.api.admin.entity.inout.ErpOrderEntity; import com.glxp.api.admin.entity.inout.FilterErpOrderRequest; import com.glxp.api.admin.entity.inout.OrderEntity; @@ -39,6 +41,7 @@ import com.glxp.api.admin.service.inventory.InvProductDetailService; import com.glxp.api.admin.service.thrsys.ThrDataService; import com.glxp.api.admin.service.thrsys.ThrOrderService; import com.glxp.api.admin.util.CustomUtil; +import com.glxp.api.admin.util.DateUtil; import com.glxp.api.admin.util.FilterUdiUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; @@ -118,7 +121,7 @@ public class IoTransInoutService { WarehouseEntity warehouseEntity = warehouseEntityList.get(0); - String orderId = System.currentTimeMillis() + i + ""; + String orderId = "SM" + CustomUtil.getId() + i + ""; if (warehouseEntity.getOrderId() != null) { orderId = warehouseEntity.getOrderId(); } @@ -132,7 +135,10 @@ public class IoTransInoutService { orderSaveRequest.setActor(warehouseEntity.getActor()); orderSaveRequest.setCorpOrderId(warehouseEntity.getCorpOrderId()); orderSaveRequest.setFromCorpId(warehouseEntity.getFromCorpId()); + orderSaveRequest.setLocStorageCode(warehouseEntity.getLocStorageCode()); orderSaveRequest.setMainAction(warehouseEntity.getMainAction()); + orderSaveRequest.setReceiveStatus(0); + orderSaveRequest.setCreateUser(postOrderRequest.getUserId()); orderSaveRequest.setFromCorp(warehouseEntity.getFromCorp()); if (fromType != null) { orderSaveRequest.setFromType(fromType); @@ -187,7 +193,7 @@ public class IoTransInoutService { myErpOrderService.deleteByOrderId(postOrderRequest.getOldOrderId()); } WarehouseEntity warehouseEntity = warehouseEntityList.get(0); - String orderId = System.currentTimeMillis() + i + ""; + String orderId = "SM" + CustomUtil.getId(); OrderEntity orderSaveRequest = new OrderEntity(); orderSaveRequest.setId(orderId); if (warehouseEntity.getActDate() != null) { @@ -287,6 +293,37 @@ public class IoTransInoutService { return; } + //近效期提醒: + SystemParamConfigEntity recentParamConfigEntity = systemParamConfigService.selectByParamKey("recent_date_tip"); + int recent = Integer.parseInt(recentParamConfigEntity.getParamValue()); + if (recent > 0) { + UdiEntity udiEntity = FilterUdiUtils.getUdi(warehouseEntity.getCode()); + if (udiEntity.getExpireDate() != null) { + String expireDate = "20" + udiEntity.getExpireDate(); + long expireTime = DateUtil.parseDateExpire(expireDate); + if (expireTime - System.currentTimeMillis() < recent * 24 * 60 * 60 * 1000) { + orderService.updateOrderStatus(warehouseEntity.getOrderId(), ConstantStatus.ORDER_STATUS_FAIL); + orderService.updateRemark(orderEntity.getId(), "udi码:" + warehouseEntity.getCode() + "临近过期!"); + return; + } + } + } + + //过期提醒: + SystemParamConfigEntity expireParamConfigEntity = systemParamConfigService.selectByParamKey("expire_date_tip"); + if (!"0".equals(expireParamConfigEntity.getParamValue())) { + UdiEntity udiEntity = FilterUdiUtils.getUdi(warehouseEntity.getCode()); + if (udiEntity.getExpireDate() != null) { + String expireDate = "20" + udiEntity.getExpireDate(); + long expireTime = DateUtil.parseDateExpire(expireDate); + if (expireTime - System.currentTimeMillis() < 0) { + orderService.updateOrderStatus(warehouseEntity.getOrderId(), ConstantStatus.ORDER_STATUS_FAIL); + orderService.updateRemark(orderEntity.getId(), "udi码:" + warehouseEntity.getCode() + "已经过期!"); + return; + } + } + } + UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectByNameCode(warehouseEntity.getNameCode()); if (udiRelevanceResponse == null) { orderService.updateOrderStatus(warehouseEntity.getOrderId(), ConstantStatus.ORDER_STATUS_FAIL); @@ -450,7 +487,7 @@ public class IoTransInoutService { myErpOrderService.updateErpOrder(erpOrderEntity); } orderService.updateOrderStatus(orderEntity.getId(), ConstantStatus.ORDER_STATUS_SUCCESS); - invProductsTrService.genInvProducts(orderEntity.getId()); + printOrder(orderEntity.getId()); } } @@ -838,6 +875,7 @@ public class IoTransInoutService { } } else { stockOrderEntity.setStatus(ConstantStatus.SORDER_DELIVER); + invProductsTrService.genInvProducts(orderEntity.getId()); } stockOrderEntity.setCorpName(orderEntity.getFromCorp()); diff --git a/api-admin/src/main/java/com/glxp/api/admin/thread/IoTransInoutTask.java b/api-admin/src/main/java/com/glxp/api/admin/thread/IoTransInoutTask.java index 2e37da6c..3ec5f91e 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/thread/IoTransInoutTask.java +++ b/api-admin/src/main/java/com/glxp/api/admin/thread/IoTransInoutTask.java @@ -2,7 +2,9 @@ package com.glxp.api.admin.thread; import com.glxp.api.admin.dao.schedule.ScheduledDao; import com.glxp.api.admin.entity.info.ScheduledEntity; +import com.glxp.api.admin.entity.info.SystemParamConfigEntity; import com.glxp.api.admin.req.info.ScheduledRequest; +import com.glxp.api.admin.service.info.SystemParamConfigService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.scheduling.annotation.EnableScheduling; @@ -22,6 +24,8 @@ public class IoTransInoutTask implements SchedulingConfigurer { protected ScheduledDao scheduledDao; @Resource private IoTransInoutService ioTransInoutService; + @Resource + SystemParamConfigService systemParamConfigService; @Override public void configureTasks(ScheduledTaskRegistrar scheduledTaskRegistrar) { @@ -40,7 +44,11 @@ public class IoTransInoutTask implements SchedulingConfigurer { private void process() { - logger.info("定时重码校验"); - ioTransInoutService.transInout(); + SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("io_transInout_interval"); + if (!"0".equals(systemParamConfigEntity.getParamValue())) { + logger.info("定时重码校验"); + ioTransInoutService.transInout(); + } + } } diff --git a/api-admin/src/main/java/com/glxp/api/admin/thread/JaspaperService.java b/api-admin/src/main/java/com/glxp/api/admin/thread/JaspaperService.java new file mode 100644 index 00000000..1fb2342a --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/thread/JaspaperService.java @@ -0,0 +1,45 @@ +package com.glxp.api.admin.thread; + +import com.glxp.api.admin.entity.inventory.StockPrintEntity; +import com.glxp.api.admin.entity.inventory.StockPrintTempEntity; +import com.glxp.api.admin.service.inventory.StockPrintTempService; +import com.glxp.api.admin.util.JasperUtils; +import net.sf.jasperreports.engine.JRException; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Service +public class JaspaperService { + @Value("${file_path}") + private String dirPath; + @Resource + private StockPrintTempService stockPrintTempService; + + @Async + public void printPdfLocal(List> splits, List stockPrintTempEntities, String resource) { + for (int i = 0; i < stockPrintTempEntities.size(); i++) { + StockPrintTempEntity stockPrintTempEntity = stockPrintTempEntities.get(i); + Map data = new HashMap(); + data.put("data", splits.get(i)); + try { + JasperUtils.jasperReportToFile(stockPrintTempEntity.getFilePath(), data, resource); + stockPrintTempEntity.setStatus(1); + } catch (IOException e) { + stockPrintTempEntity.setStatus(2); + e.printStackTrace(); + } catch (JRException e) { + stockPrintTempEntity.setStatus(2); + e.printStackTrace(); + } + stockPrintTempService.updateStockPrintTempEntity(stockPrintTempEntity); + } + } + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/thread/SupplementOrderTask.java b/api-admin/src/main/java/com/glxp/api/admin/thread/SupplementOrderTask.java new file mode 100644 index 00000000..3df69b4c --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/thread/SupplementOrderTask.java @@ -0,0 +1,81 @@ +package com.glxp.api.admin.thread; + +import cn.hutool.core.collection.CollUtil; +import com.glxp.api.admin.dao.schedule.ScheduledDao; +import com.glxp.api.admin.entity.business.StockOrderEntity; +import com.glxp.api.admin.entity.info.ScheduledEntity; +import com.glxp.api.admin.entity.info.SystemParamConfigEntity; +import com.glxp.api.admin.req.info.ScheduledRequest; +import com.glxp.api.admin.res.inout.StockOrderResponse; +import com.glxp.api.admin.service.business.StockOrderService; +import com.glxp.api.admin.service.info.SystemParamConfigService; +import com.glxp.api.admin.service.inout.OrderService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.scheduling.annotation.EnableScheduling; +import org.springframework.scheduling.annotation.SchedulingConfigurer; +import org.springframework.scheduling.config.ScheduledTaskRegistrar; +import org.springframework.scheduling.support.CronTrigger; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.util.List; +import java.util.concurrent.atomic.AtomicInteger; + +/** + * 自动补单定时任务 + */ +@Slf4j +@Component +@EnableScheduling +public class SupplementOrderTask implements SchedulingConfigurer { + + @Resource + ScheduledDao scheduledDao; + @Resource + StockOrderService stockOrderService; + @Resource + OrderService orderService; + @Resource + SystemParamConfigService systemParamConfigService; + + @Override + public void configureTasks(ScheduledTaskRegistrar taskRegistrar) { + taskRegistrar.addTriggerTask(() -> process(), + triggerContext -> { + ScheduledRequest scheduledRequest = new ScheduledRequest(); + scheduledRequest.setCronName("supplementOrderTask"); + ScheduledEntity scheduledEntity = scheduledDao.findScheduled(scheduledRequest); + String cron = scheduledEntity.getCron(); + if (cron.isEmpty()) { + log.error("cron is null"); + } + return new CronTrigger(cron).nextExecutionTime(triggerContext); + }); + } + + private void process() { + + SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("supplement_order_interval"); + if (!"0".equals(systemParamConfigEntity.getParamValue())) { + log.info("开始扫描补单数据"); + //计数器 + AtomicInteger counter = new AtomicInteger(0); + List orderEntities = stockOrderService.getSupplementOrderBillNoList(); + if (CollUtil.isNotEmpty(orderEntities)) { + List stockOrderResponses = orderService.checkSupplementOrder(orderEntities); + for (StockOrderResponse stockOrderRespons : stockOrderResponses) { + if (stockOrderRespons.isEnableSupplementOrder()) { + //此单据可以补单 + orderService.supplementOrder(stockOrderRespons.getBillNo(), stockOrderRespons.getOrderIdFk()); + counter.addAndGet(1); + } + } + } + log.info("补单结束,此次补单数量为:{}", counter.get()); + } + + + } + + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/util/DateUtil.java b/api-admin/src/main/java/com/glxp/api/admin/util/DateUtil.java index c3b125f1..f674abeb 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/util/DateUtil.java +++ b/api-admin/src/main/java/com/glxp/api/admin/util/DateUtil.java @@ -62,6 +62,15 @@ public class DateUtil extends org.apache.commons.lang3.time.DateUtils { return dateString; } + public static Long parseDateExpire(String str) { + try { + return DateUtil.parseDate(str, "yyyyMMdd").getTime(); + } catch (ParseException e) { + e.printStackTrace(); + } + return 0l; + } + /** * 得到当前日期字符串 格式(yyyy-MM-dd) */ diff --git a/api-admin/src/main/java/com/glxp/api/admin/util/JasperUtils.java b/api-admin/src/main/java/com/glxp/api/admin/util/JasperUtils.java index da62ff25..fa1f58cb 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/util/JasperUtils.java +++ b/api-admin/src/main/java/com/glxp/api/admin/util/JasperUtils.java @@ -41,17 +41,12 @@ public class JasperUtils { public static void jasperReport(HttpServletRequest request, HttpServletResponse response, Map data, String jasperResource, String type) throws IOException, JRException { try { HashMap map = new HashMap(); - logger.error(JSON.toJSONString(data)); - - InputStream is = new ByteArrayInputStream(JSON.toJSONString(data).getBytes("UTF-8")); map.put("JSON_INPUT_STREAM", is); //填充报表数据 map.put(JsonQueryExecuterFactory.JSON_LOCALE, Locale.ENGLISH); - // ClassPathResource resource = new ClassPathResource(jasperResource); FileInputStream jasperStream = new FileInputStream(new File(jasperResource)); - // InputStream jasperStream = resource.getInputStream(); JasperReport jasperReport = (JasperReport) JRLoader.loadObject(jasperStream); @@ -80,4 +75,32 @@ public class JasperUtils { } } + + public static void jasperReportToFile(String filePath, Map data, String jasperResource) throws IOException, JRException { + try { + HashMap map = new HashMap(); + logger.error(JSON.toJSONString(data)); + InputStream is = new ByteArrayInputStream(JSON.toJSONString(data).getBytes("UTF-8")); + map.put("JSON_INPUT_STREAM", is); //填充报表数据 + map.put(JsonQueryExecuterFactory.JSON_LOCALE, Locale.ENGLISH); +// ClassPathResource resource = new ClassPathResource(jasperResource); + FileInputStream jasperStream = new FileInputStream(new File(jasperResource)); +// InputStream jasperStream = resource.getInputStream(); + + JasperReport jasperReport = (JasperReport) JRLoader.loadObject(jasperStream); + //报表填充 + JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, map); + File createFile = new File(filePath); + if (!createFile.exists()) { + createFile.createNewFile(); + } + JasperExportManager.exportReportToPdfFile(jasperPrint, filePath); + + } catch (Exception e) { + + e.printStackTrace(); + + } + } + } diff --git a/api-admin/src/main/resources/application-pro.properties b/api-admin/src/main/resources/application-pro.properties index dd11e809..1bda441f 100644 --- a/api-admin/src/main/resources/application-pro.properties +++ b/api-admin/src/main/resources/application-pro.properties @@ -52,5 +52,8 @@ spring.redis.jedis.timeout=300 spring.jackson.date-format=yyyy-MM-dd HH:mm:ss spring.jackson.time-zone=GMT+8 +spring.servlet.multipart.max-file-size=500MB +spring.servlet.multipart.max-request-size=500MB + diff --git a/api-admin/src/main/resources/mybatis/mapper/auth/AuthAdminDao.xml b/api-admin/src/main/resources/mybatis/mapper/auth/AuthAdminDao.xml index 38549386..1d5fceb7 100644 --- a/api-admin/src/main/resources/mybatis/mapper/auth/AuthAdminDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/auth/AuthAdminDao.xml @@ -3,7 +3,8 @@ - SELECT * FROM auth_user @@ -100,7 +101,12 @@ - delete from auth_user where id = #{id} + delete + from auth_user + where id = #{id} - + \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/basic/BussinessChangeTypeDao.xml b/api-admin/src/main/resources/mybatis/mapper/basic/BussinessChangeTypeDao.xml index 4311e488..14da9822 100644 --- a/api-admin/src/main/resources/mybatis/mapper/basic/BussinessChangeTypeDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/basic/BussinessChangeTypeDao.xml @@ -17,12 +17,12 @@ parameterType="com.glxp.api.admin.entity.basic.BussinessChangeTypeEntity"> insert INTO basic_bustype_pre - (action, scAction, `index`, remark, beforeTime, intro) + (action, scAction, `index`, remark, beforeTime, intro, changeType) values (#{action}, #{scAction}, #{index}, #{remark}, - #{beforeTime}, #{intro}) + #{beforeTime}, #{intro}, #{changeType}) @@ -34,6 +34,8 @@ beforeTime = #{beforeTime}, remark = #{remark}, intro = #{intro}, + changeType = #{changeType}, + WHERE id = #{id} @@ -43,7 +45,11 @@ FROM basic_bustype_pre WHERE id = #{id} - + + DELETE + FROM basic_bustype_pre + WHERE scAction = #{scAction} + + + + + + + INSERT INTO basic_bustype_local - (action, name, enable, remark, originAction, advanceType, changeEnable) + (action, name, remark, originAction, advanceType, changeEnable) values (#{action}, #{name}, - #{enable}, #{remark}, #{originAction}, #{advanceType}, #{changeEnable}) @@ -90,7 +137,6 @@ action = #{action}, name = #{name}, - enable = #{enable}, remark = #{remark}, originAction = #{originAction}, advanceType = #{advanceType}, diff --git a/api-admin/src/main/resources/mybatis/mapper/basic/BussinessTypeDao.xml b/api-admin/src/main/resources/mybatis/mapper/basic/BussinessTypeDao.xml index c793decf..7eb4585f 100644 --- a/api-admin/src/main/resources/mybatis/mapper/basic/BussinessTypeDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/basic/BussinessTypeDao.xml @@ -6,12 +6,18 @@ + + replace @@ -72,7 +130,8 @@ (`index`,action,name,enable,remark,mainAction,localAction,thirdSysFk ,checkEnable,genUnit,innerOrder,secCheckEnable, checkUdims,checkPdaEd,checkPdaUn,checkPc,checkWebNew,checkChange - ,secCheckUdims,secCheckPdaEd,secCheckPdaUn,secCheckPc,secCheckWebNew,secCheckChange,checkSp,secCheckSp,thirdAction,storageCode,corpType) + ,secCheckUdims,secCheckPdaEd,secCheckPdaUn,secCheckPc,secCheckWebNew, + secCheckChange,checkSp,secCheckSp,thirdAction,storageCode,corpType,advanceType,supplementOrderType) values ( #{index}, @@ -102,7 +161,10 @@ #{checkSp}, #{secCheckSp}, #{thirdAction}, - #{storageCode},#{corpType} + #{storageCode}, + #{corpType}, + #{advanceType}, + #{supplementOrderType} ) @@ -114,7 +176,9 @@ (`index`,action,name,enable,remark,mainAction,localAction,thirdSysFk ,checkEnable,genUnit,innerOrder,secCheckEnable, checkUdims,checkPdaEd,checkPdaUn,checkPc,checkWebNew,checkChange - ,secCheckUdims,secCheckPdaEd,secCheckPdaUn,secCheckPc,secCheckWebNew,secCheckChange,checkSp,secCheckSp,thirdAction,storageCode,corpType) + ,secCheckUdims,secCheckPdaEd,secCheckPdaUn,secCheckPc,secCheckWebNew, + secCheckChange,checkSp,secCheckSp,thirdAction,storageCode,corpType + ,advanceType,supplementOrderType) values ( #{index}, @@ -144,7 +208,10 @@ #{checkSp}, #{secCheckSp}, #{thirdAction}, - #{storageCode},#{corpType} + #{storageCode}, + #{corpType}, + #{advanceType}, + #{supplementOrderType} ) @@ -180,11 +247,19 @@ thirdAction=#{thirdAction}, storageCode=#{storageCode}, corpType=#{corpType}, + advanceType=#{advanceType}, + supplementOrderType=#{supplementOrderType}, thirdSysFk=#{thirdSysFk}, WHERE id = #{id} + + update basic_bussiness_type + set supplementOrderType = #{action} + where action = #{supplementOrderType} + + DELETE FROM basic_bussiness_type @@ -197,4 +272,26 @@ FROM basic_bussiness_type WHERE id = #{id} + + + + + + + diff --git a/api-admin/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml b/api-admin/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml index f151dd20..a5a2ae9a 100644 --- a/api-admin/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml @@ -11,7 +11,8 @@ basic_udirel.thirdId1,basic_udirel.thirdId2,basic_udirel.thirdId3,basic_udirel.thirdId4, basic_udirel.thirdName1,basic_udirel.thirdName2,basic_udirel.thirdName3,basic_udirel.thirdName4, basic_udirel.manufactory,basic_udirel.measname,basic_udirel.ybbm,basic_udirel.sptm, - basic_udirel.isDisable, + basic_udirel.isDisable,basic_udirel.isLock,basic_udirel.lockStatus,basic_udirel.udplatCode, + basic_udirel.isAdavence, basic_products.nameCode,basic_products.packRatio,basic_products.packLevel, basic_products.bhxjsl,basic_products.bhzxxsbzsl,basic_products.zxxsbzbhsydysl, basic_products.bhxjcpbm,basic_products.bzcj, @@ -76,6 +77,9 @@ AND mainId = #{mainId} + + AND isAdavence = #{isAdavence} + ORDER BY updateTime DESC @@ -88,11 +92,16 @@ basic_udirel.id, basic_udirel.thirdId,basic_udirel.thirdName,basic_udirel.isUseDy, basic_udirel.thirdId1,basic_udirel.thirdId2,basic_udirel.thirdId3,basic_udirel.thirdId4, - basic_udirel.ybbm,basic_udirel.sptm,basic_udirel.isDisable, + basic_udirel.ybbm,basic_udirel.sptm,basic_udirel.isDisable, basic_udirel.isLock,basic_udirel.lockStatus, basic_udirel.thirdName1,basic_udirel.thirdName2,basic_udirel.thirdName3,basic_udirel.thirdName4, - basic_udirel.manufactory,basic_udirel.measname, - basic_products.nameCode,basic_products.packRatio,basic_products.packLevel,basic_products.bhxjsl,basic_products.bhzxxsbzsl,basic_products.zxxsbzbhsydysl,basic_products.bhxjcpbm,basic_products.bzcj,basic_products.addType,basic_products.deviceRecordKey,basic_products.cpmctymc,basic_products.cplb,basic_products.flbm,basic_products.ggxh,basic_products.qxlb,basic_products.tyshxydm,basic_products.ylqxzcrbarmc,basic_products.zczbhhzbapzbh,basic_products.ylqxzcrbarywmc,basic_products.sydycpbs,basic_products.uuid,basic_products.sjcpbm,basic_products.versionNumber,basic_products.diType - ,basic_udirel.mainId,basic_udirel.mainName + basic_udirel.manufactory,basic_udirel.measname,basic_udirel.udplatCode, + basic_products.nameCode,basic_products.packRatio,basic_products.packLevel,basic_products.bhxjsl, + basic_products.bhzxxsbzsl,basic_products.zxxsbzbhsydysl,basic_products.bhxjcpbm,basic_products.bzcj, + basic_products.addType,basic_products.deviceRecordKey,basic_products.cpmctymc,basic_products.cplb, + basic_products.flbm,basic_products.ggxh,basic_products.qxlb,basic_products.tyshxydm,basic_products.ylqxzcrbarmc, + basic_products.zczbhhzbapzbh,basic_products.ylqxzcrbarywmc,basic_products.sydycpbs,basic_products.uuid, + basic_products.sjcpbm,basic_products.versionNumber,basic_products.diType, + basic_udirel.mainId,basic_udirel.mainName,basic_udirel.isAdavence FROM basic_products right JOIN basic_udirel ON basic_products.uuid = basic_udirel.uuid @@ -184,7 +193,9 @@ - replace INTO basic_udirel + replace + INTO basic_udirel ( - thirdId,thirdName,uuid,isUseDy,updateTime, - thirdId1,thirdId2,thirdId3,thirdId4,thirdName1,thirdName2,thirdName3,thirdName4,manufactory, - measname,ybbm,sptm,isDisable - ,mainId,mainName + thirdId,thirdName,uuid,isUseDy,updateTime, + thirdId1,thirdId2,thirdId3,thirdId4,thirdName1,thirdName2,thirdName3,thirdName4,manufactory,measname,ybbm,sptm,isDisable,isLock + ,mainId,mainName,lockStatus,udplatCode,isAdavence ) values ( - #{thirdId}, - #{thirdName}, - #{uuid}, - #{isUseDy}, - #{updateTime}, - #{thirdId1}, #{thirdId2}, #{thirdId3}, #{thirdId4}, - #{thirdName1}, #{thirdName2}, #{thirdName3}, #{thirdName4}, - #{manufactory}, #{measname},#{ybbm},#{sptm},#{isDisable} - ,#{mainId},#{mainName} - ) + #{thirdId}, + #{thirdName}, + #{uuid}, + #{isUseDy}, + #{updateTime}, + #{thirdId1}, + #{thirdId2}, + #{thirdId3}, + #{thirdId4}, + #{thirdName1}, + #{thirdName2}, + #{thirdName3}, + #{thirdName4}, + #{manufactory}, + #{measname}, + #{ybbm}, + #{sptm}, + #{isDisable}, + #{isLock}, + #{mainId}, + #{mainName}, + #{lockStatus}, + #{udplatCode}, + #{isAdavence} + ) - DELETE FROM basic_udirel WHERE id = #{id} + DELETE + FROM basic_udirel + WHERE id = #{id} DELETE FROM basic_udirel WHERE id in @@ -269,7 +303,9 @@ - DELETE FROM basic_udirel WHERE uuid = #{uuid} + DELETE + FROM basic_udirel + WHERE uuid = #{uuid} @@ -293,8 +329,12 @@ sptm=#{sptm}, updateTime=#{updateTime}, isDisable=#{isDisable}, + isLock=#{isLock}, mainId=#{mainId}, + lockStatus=#{lockStatus}, mainName=#{mainName}, + udplatCode=#{udplatCode}, + isAdavence=#{isAdavence}, WHERE id = #{id} @@ -309,32 +349,32 @@ replace into basic_udirel (id, thirdId, thirdName, uuid, isUseDy, updateTime, thirdId1, thirdId2, thirdId3, - thirdId4, thirdName1, thirdName2, thirdName3, thirdName4, ybbm, sptm, manufactory, - measname, isDisable, mainId, mainName, udplatCode) - values + thirdId4, thirdName1, thirdName2, thirdName3, thirdName4, ybbm, sptm, manufactory, + measname, isDisable, mainId, mainName, udplatCode) + values (#{item.id}, - #{item.thirdId}, - #{item.thirdName}, - #{item.uuid}, - #{item.isUseDy}, - #{item.updateTime}, - #{item.thirdId1}, - #{item.thirdId2}, - #{item.thirdId3}, - #{item.thirdId4}, - #{item.thirdName1}, - #{item.thirdName2}, - #{item.thirdName3}, - #{item.thirdName4}, - #{item.ybbm}, - #{item.sptm}, - #{item.manufactory}, - #{item.measname}, - #{item.isDisable}, - #{item.mainId}, - #{item.mainName}, - #{item.udplatCode}) + #{item.thirdId}, + #{item.thirdName}, + #{item.uuid}, + #{item.isUseDy}, + #{item.updateTime}, + #{item.thirdId1}, + #{item.thirdId2}, + #{item.thirdId3}, + #{item.thirdId4}, + #{item.thirdName1}, + #{item.thirdName2}, + #{item.thirdName3}, + #{item.thirdName4}, + #{item.ybbm}, + #{item.sptm}, + #{item.manufactory}, + #{item.measname}, + #{item.isDisable}, + #{item.mainId}, + #{item.mainName}, + #{item.udplatCode}) \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/business/StockOrderDao.xml b/api-admin/src/main/resources/mybatis/mapper/business/StockOrderDao.xml index 27bfa3d7..67677f08 100644 --- a/api-admin/src/main/resources/mybatis/mapper/business/StockOrderDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/business/StockOrderDao.xml @@ -7,7 +7,9 @@ resultType="com.glxp.api.admin.entity.business.StockOrderEntity"> SELECT * FROM stock_order + INNER JOIN inv_warehouse_user on stock_order.locStorageCode = inv_warehouse_user.`code` where status = 'success' + group by stock_order.id - SELECT * FROM stock_order + SELECT stock_order.* FROM stock_order + INNER JOIN inv_warehouse_user on stock_order.locStorageCode = inv_warehouse_user.`code` and id =#{id} - and billNo =#{billNo} + and billNo LIKE concat('%',#{billNo},'%') and billdate = #{billdate} @@ -99,7 +116,7 @@ and corpId = #{corpId} - and corpName = #{corpName} + and corpName LIKE concat('%',#{corpName},'%') and billType = #{billType} @@ -140,17 +157,26 @@ and totalPrice = #{totalPrice} - + and locStorageCode = #{locStorageCode} + + and createUser = #{createUser} + + + and reviewUser = #{reviewUser} + = DATE_FORMAT(#{startTime}, '%Y-%m-%d') ]]> - + + and inv_warehouse_user.userId =#{userId} + + group by stock_order.id ORDER BY id DESC @@ -181,6 +207,12 @@ and orderIdFk =#{orderIdFk} + + and createUser = #{createUser} + + + and reviewUser = #{reviewUser} + limit 1 @@ -211,4 +243,12 @@ + + + \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/business/StockOrderDetail.xml b/api-admin/src/main/resources/mybatis/mapper/business/StockOrderDetail.xml index 562604d8..cabee29c 100644 --- a/api-admin/src/main/resources/mybatis/mapper/business/StockOrderDetail.xml +++ b/api-admin/src/main/resources/mybatis/mapper/business/StockOrderDetail.xml @@ -58,11 +58,12 @@ ORDER BY id DESC - + replace INTO stock_order_detail(id, orderIdFk,productId,productName,spec,batchNo,productDate, - expireDate,count,reCount,sweepCount,ylqxzcrbarmc,zczbhhzbapzbh) + expireDate,count,reCount,sweepCount,ylqxzcrbarmc,zczbhhzbapzbh,price) values( #{id}, #{orderIdFk}, @@ -76,14 +77,15 @@ #{reCount}, #{sweepCount}, #{ylqxzcrbarmc}, - #{zczbhhzbapzbh} + #{zczbhhzbapzbh},#{price} ) - + replace INTO stock_order_detail(id, orderIdFk,productId,productName,spec,batchNo,productDate, - expireDate,count,reCount,sweepCount,ylqxzcrbarmc,zczbhhzbapzbh) + expireDate,count,reCount,sweepCount,ylqxzcrbarmc,zczbhhzbapzbh,price) values @@ -100,7 +102,7 @@ #{item.reCount}, #{item.sweepCount}, #{item.ylqxzcrbarmc}, - #{item.zczbhhzbapzbh} + #{item.zczbhhzbapzbh},#{item.price} ) @@ -115,6 +117,11 @@ sweepCount=#{sweepCount}, count=#{count}, reCount=#{reCount}, + price=#{price}, + secSalesListNo=#{secSalesListNo}, + firstSalesInvNo=#{firstSalesInvNo}, + secSalesInvNo=#{secSalesInvNo}, + invoiceDate=#{invoiceDate}, WHERE id = #{id} @@ -133,9 +140,9 @@ \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/inout/CodesDao.xml b/api-admin/src/main/resources/mybatis/mapper/inout/CodesDao.xml index 7ce3b28c..de035d86 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inout/CodesDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inout/CodesDao.xml @@ -27,16 +27,19 @@ and nameCode =#{nameCode} - + + and orderId =#{orderId} + ORDER BY actDate - INSERT INTO io_codes(action, mainAction, code, corpOrderId, - actor, actDate, upperCorpOrderId, fromCorpId, - fromCorp, nameCode, relId,status,supId,locStorageCode) + INSERT INTO io_codes(action, mainAction, code, corpOrderId, actor, actDate, + fromCorpId, fromCorp, orderId, batchNo, produceDate, expireDate, + serialNo, count, packageLevel, warehouseCode, nameCode, supId, relId, status, + invStorageCode, invWarehouseCode, locStorageCode) values (#{action}, #{mainAction}, #{code}, @@ -44,7 +47,10 @@ #{actor}, #{actDate}, #{fromCorpId}, - #{fromCorp}, #{orderId}, #{nameCode}, #{relId},#{status},#{supId},#{locStorageCode}) + #{fromCorp}, #{orderId}, #{batchNo}, #{produceDate}, #{expireDate}, #{serialNo}, #{count}, + #{packageLevel}, #{warehouseCode}, + #{nameCode}, #{supId}, #{relId}, #{status}, #{invStorageCode}, #{invWarehouseCode}, #{locStorageCode}) + @@ -56,7 +62,8 @@ actor, actDate, fromCorpId,fromCorp,orderId,batchNo,produceDate,expireDate, - serialNo,count,packageLevel,warehouseCode,nameCode,relId,status,supId,locStorageCode) + serialNo,count,packageLevel,warehouseCode,nameCode,supId, + relId,status,invStorageCode,invWarehouseCode,locStorageCode) VALUES @@ -75,8 +82,10 @@ ,#{item.expireDate} ,#{item.serialNo} ,#{item.count} - ,#{item.packageLevel} ,#{item.warehouseCode},#{item.nameCode},#{item.relId},#{item.status} - ,#{item.supId},#{item.locStorageCode}) + ,#{item.packageLevel} ,#{item.warehouseCode},#{item.nameCode},#{item.supId} + ,#{item.relId},#{item.status},#{item.invStorageCode},#{item.invWarehouseCode},#{item.locStorageCode} + ) + @@ -100,6 +109,9 @@ SELECT * FROM io_codes WHERE nameCode = #{code} + or SUBSTRING(`code`, 1, 14) = #{code} + or SUBSTRING(`code`, 2, 14) = #{code} + or SUBSTRING(`code`, 3, 14) = #{code} @@ -109,6 +121,13 @@ FROM io_codes WHERE `orderId` = #{orderId} + + + UPDATE io_codes SET orderId = #{newOrderId} @@ -117,7 +136,8 @@ UPDATE io_codes SET relId = #{relId} - where nameCode = #{nameCode} and orderId = #{orderId} + where nameCode = #{nameCode} + and orderId = #{orderId} UPDATE io_codes @@ -133,17 +153,25 @@ fromCorp=#{fromCorp}, fromCorpId=#{fromCorpId}, count=#{count}, - sCount=#{sCount}, status=#{status}, supId=#{supId}, + invStorageCode=#{invStorageCode}, + invWarehouseCode=#{invWarehouseCode}, locStorageCode=#{locStorageCode}, WHERE id=#{id} + UPDATE io_codes SET fromCorpId = #{fromCorpId}, fromCorp = #{fromCorp} WHERE orderId = #{orderId} + + + DELETE + FROM io_codes + WHERE orderId = #{orderId} + \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/inout/CodesTempDao.xml b/api-admin/src/main/resources/mybatis/mapper/inout/CodesTempDao.xml index 47f65d52..d0acdb78 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inout/CodesTempDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inout/CodesTempDao.xml @@ -8,7 +8,7 @@ INSERT INTO io_codes_temp (action, mainAction,code, corpOrderId, actor,actDate, fromCorpId, fromCorp, orderId,batchNo,produceDate,expireDate,serialNo, - count,nameCode,relId,status,supId,locStorageCode) + count,nameCode,relId,status,supId,invStorageCode,invWarehouseCode,locStorageCode) VALUES @@ -27,7 +27,8 @@ ,#{item.expireDate} ,#{item.serialNo} ,#{item.count},#{item.nameCode} - , #{item.relId},#{item.status},#{item.supId},#{item.locStorageCode}) + , #{item.relId},#{item.status},#{item.supId}, + #{item.invStorageCode},#{item.invWarehouseCode},#{item.locStorageCode}) @@ -35,7 +36,7 @@ INSERT INTO io_codes_temp(action, mainAction, code, corpOrderId, actor, actDate, fromCorpId, fromCorp, orderId, batchNo, produceDate, expireDate, serialNo, count, - nameCode, relId, status, supId,locStorageCode) + nameCode, relId, status, supId, invStorageCode, invWarehouseCode, locStorageCode) values (#{action}, #{mainAction}, #{code}, @@ -49,7 +50,8 @@ #{produceDate}, #{expireDate}, #{serialNo}, - #{count}, #{nameCode}, #{relId}, #{status}, #{supId},#{locStorageCode}) + #{count}, #{nameCode}, #{relId}, #{status}, #{supId}, #{item.invStorageCode}, #{item.invWarehouseCode}, + #{locStorageCode}) diff --git a/api-admin/src/main/resources/mybatis/mapper/inout/OrderDao.xml b/api-admin/src/main/resources/mybatis/mapper/inout/OrderDao.xml index d9ef257e..99e80246 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inout/OrderDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inout/OrderDao.xml @@ -31,8 +31,9 @@ insert INTO io_order(id, action, corpOrderId, actDate, fromCorpId, actor, mainAction, - fromCorp, status, remark, exportStatus, fromType, contrastStatus, signStatus, erpFk, - stockCheckFk,locStorageCode) + fromCorp, status, remark, exportStatus, fromType, contrastStatus, signStatus, + receiveStatus, erpFk, stockCheckFk, supId, + exportFilePath, locStorageCode, supplementNo, ullageSupNo, createUser, reviewUser) values (#{id}, #{action}, #{corpOrderId}, @@ -47,8 +48,10 @@ #{fromType}, #{contrastStatus}, #{signStatus}, + #{receiveStatus}, #{erpFk}, - #{stockCheckFk},#{locStorageCode}) + #{stockCheckFk}, #{supId}, #{exportFilePath}, #{locStorageCode}, #{supplementNo} + , #{ullageSupNo}, #{createUser}, #{reviewUser}) UPDATE io_order @@ -67,8 +70,17 @@ contrastStatus=#{contrastStatus}, erpFk=#{erpFk}, signStatus=#{signStatus}, + receiveStatus=#{receiveStatus}, stockCheckFk=#{stockCheckFk}, + supId=#{supId}, + exportFilePath=#{exportFilePath}, + invStorageCode=#{invStorageCode}, + invWarehouseCode=#{invWarehouseCode}, locStorageCode=#{locStorageCode}, + supplementNo=#{supplementNo}, + ullageSupNo=#{ullageSupNo}, + createUser=#{createUser}, + reviewUser=#{reviewUser}, WHERE id = #{id} @@ -123,16 +135,96 @@ SET `remark` = #{remark} where id = #{orderId} + + + @@ -216,6 +324,77 @@ + + + - + \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/inout/OrderDetailDao.xml b/api-admin/src/main/resources/mybatis/mapper/inout/OrderDetailDao.xml index cb86f29b..8a869d1d 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inout/OrderDetailDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inout/OrderDetailDao.xml @@ -16,6 +16,9 @@ and orderIdFk = #{orderId} + + and orderIdFk = #{orderIdFk} + diff --git a/api-admin/src/main/resources/mybatis/mapper/inout/WarehouseBussinessTypeDao.xml b/api-admin/src/main/resources/mybatis/mapper/inout/WarehouseBussinessTypeDao.xml new file mode 100644 index 00000000..85245b18 --- /dev/null +++ b/api-admin/src/main/resources/mybatis/mapper/inout/WarehouseBussinessTypeDao.xml @@ -0,0 +1,247 @@ + + + + + + + + + + + + + + id, code, `action`, `name` + + + + + delete from inv_warehouse_bussiness_type + where id = #{id,jdbcType=INTEGER} + + + + insert into inv_warehouse_bussiness_type (code, `action`, `name` + ) + values (#{code,jdbcType=VARCHAR}, #{action,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR} + ) + + + + insert into inv_warehouse_bussiness_type + + + code, + + + `action`, + + + `name`, + + + + + #{code,jdbcType=VARCHAR}, + + + #{action,jdbcType=VARCHAR}, + + + #{name,jdbcType=VARCHAR}, + + + + + + update inv_warehouse_bussiness_type + + + code = #{code,jdbcType=VARCHAR}, + + + `action` = #{action,jdbcType=VARCHAR}, + + + `name` = #{name,jdbcType=VARCHAR}, + + + where id = #{id,jdbcType=INTEGER} + + + + update inv_warehouse_bussiness_type + set code = #{code,jdbcType=VARCHAR}, + `action` = #{action,jdbcType=VARCHAR}, + `name` = #{name,jdbcType=VARCHAR} + where id = #{id,jdbcType=INTEGER} + + + + update inv_warehouse_bussiness_type + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.code,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.action,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.name,jdbcType=VARCHAR} + + + + where id in + + #{item.id,jdbcType=INTEGER} + + + + + update inv_warehouse_bussiness_type + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.code,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.action,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.name,jdbcType=VARCHAR} + + + + + where id in + + #{item.id,jdbcType=INTEGER} + + + + + insert into inv_warehouse_bussiness_type + (code, `action`, `name`) + values + + (#{item.code,jdbcType=VARCHAR}, #{item.action,jdbcType=VARCHAR}, #{item.name,jdbcType=VARCHAR} + ) + + + + + insert into inv_warehouse_bussiness_type + + + id, + + code, + `action`, + `name`, + + values + + + #{id,jdbcType=INTEGER}, + + #{code,jdbcType=VARCHAR}, + #{action,jdbcType=VARCHAR}, + #{name,jdbcType=VARCHAR}, + + on duplicate key update + + + id = #{id,jdbcType=INTEGER}, + + code = #{code,jdbcType=VARCHAR}, + `action` = #{action,jdbcType=VARCHAR}, + `name` = #{name,jdbcType=VARCHAR}, + + + + + insert into inv_warehouse_bussiness_type + + + id, + + + code, + + + `action`, + + + `name`, + + + values + + + #{id,jdbcType=INTEGER}, + + + #{code,jdbcType=VARCHAR}, + + + #{action,jdbcType=VARCHAR}, + + + #{name,jdbcType=VARCHAR}, + + + on duplicate key update + + + id = #{id,jdbcType=INTEGER}, + + + code = #{code,jdbcType=VARCHAR}, + + + `action` = #{action,jdbcType=VARCHAR}, + + + `name` = #{name,jdbcType=VARCHAR}, + + + + + + + + delete + from inv_warehouse_bussiness_type + where code = #{code} + + \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/inout/WarehouseUserDao.xml b/api-admin/src/main/resources/mybatis/mapper/inout/WarehouseUserDao.xml new file mode 100644 index 00000000..17162eb9 --- /dev/null +++ b/api-admin/src/main/resources/mybatis/mapper/inout/WarehouseUserDao.xml @@ -0,0 +1,266 @@ + + + + + + + + + + + + + + + id, code, userId, userName, isDirector + + + + + delete from inv_warehouse_user + where id = #{id,jdbcType=INTEGER} + + + + insert into inv_warehouse_user (code, userId, userName, isDirector + ) + values (#{code,jdbcType=VARCHAR}, #{userid,jdbcType=BIGINT}, #{username,jdbcType=VARCHAR}, #{isDirector} + ) + + + + insert into inv_warehouse_user + + + code, + + + userId, + + + userName, + + isDirector + + + + #{code,jdbcType=VARCHAR}, + + + #{userid,jdbcType=BIGINT}, + + + #{username,jdbcType=VARCHAR}, + + #{isDirector} + + + + + update inv_warehouse_user + + + code = #{code,jdbcType=VARCHAR}, + + + userId = #{userid,jdbcType=BIGINT}, + + + userName = #{username,jdbcType=VARCHAR}, + + + isDirector = #{isDirector} + where id = #{id,jdbcType=INTEGER} + + + + update inv_warehouse_user + set code = #{code,jdbcType=VARCHAR}, + userId = #{userid,jdbcType=BIGINT}, + userName = #{username,jdbcType=VARCHAR} + isDirector = #{isDirector} + where id = #{id,jdbcType=INTEGER} + + + + update inv_warehouse_user + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.code,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.userid,jdbcType=BIGINT} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.username,jdbcType=VARCHAR} + + + + where id in + + #{item.id,jdbcType=INTEGER} + + + + + update inv_warehouse_user + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.code,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.userid,jdbcType=BIGINT} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.username,jdbcType=VARCHAR} + + + + + where id in + + #{item.id,jdbcType=INTEGER} + + + + + insert into inv_warehouse_user + (code, userId, userName, isDirector) + values + + (#{item.code,jdbcType=VARCHAR}, #{item.userid,jdbcType=BIGINT}, #{item.username,jdbcType=VARCHAR}, + #{item.isDirector} + ) + + + + + insert into inv_warehouse_user + + + id, + + code, + userId, + userName, + isDirector, + + values + + + #{id,jdbcType=INTEGER}, + + #{code,jdbcType=VARCHAR}, + #{userid,jdbcType=BIGINT}, + #{username,jdbcType=VARCHAR}, + #{isDirector} + + on duplicate key update + + + id = #{id,jdbcType=INTEGER}, + + code = #{code,jdbcType=VARCHAR}, + userId = #{userid,jdbcType=BIGINT}, + userName = #{username,jdbcType=VARCHAR}, + + + + + insert into inv_warehouse_user + + + id, + + + code, + + + userId, + + + userName, + + + values + + + #{id,jdbcType=INTEGER}, + + + #{code,jdbcType=VARCHAR}, + + + #{userid,jdbcType=BIGINT}, + + + #{username,jdbcType=VARCHAR}, + + + on duplicate key update + + + id = #{id,jdbcType=INTEGER}, + + + code = #{code,jdbcType=VARCHAR}, + + + userId = #{userid,jdbcType=BIGINT}, + + + userName = #{username,jdbcType=VARCHAR}, + + + + + + + + delete + from inv_warehouse_user + where code = #{code} + + + + update inv_warehouse_user + set isDirector = #{isDirector} + where code = #{code} + + + + update inv_warehouse_user + set isDirector = #{isDirector} + where id = #{id} + + \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/InvPreProductDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/InvPreProductDao.xml new file mode 100644 index 00000000..fa750f8d --- /dev/null +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/InvPreProductDao.xml @@ -0,0 +1,205 @@ + + + + + + + + + + + + + + + + insert INTO inv_pre_product + (productsName, nameCode, relIdFk, ggxh, batchNo, + productionDate, expireDate, ylqxzcrbarmc, zczbhhzbapzbh, + inCount, outCount, reCount, customerId, supId, unitFk, invStorageCode, invWarehouseCode) + values (#{productsName}, #{nameCode}, + #{relIdFk}, #{ggxh}, #{batchNo}, + #{productionDate}, #{expireDate}, + #{ylqxzcrbarmc}, #{zczbhhzbapzbh}, + #{inCount}, #{outCount}, #{reCount}, #{customerId}, #{supId}, #{unitFk} + , #{invStorageCode}, #{invWarehouseCode}) + + + + + DELETE + FROM inv_pre_product + WHERE id = #{id} + + + + UPDATE inv_pre_product + + productsName=#{productsName}, + nameCode=#{nameCode}, + relIdFk=#{relIdFk}, + ggxh=#{ggxh}, + batchNo=#{batchNo}, + productionDate=#{productionDate}, + expireDate=#{expireDate}, + ylqxzcrbarmc=#{ylqxzcrbarmc}, + zczbhhzbapzbh=#{zczbhhzbapzbh}, + inCount=#{inCount}, + outCount=#{outCount}, + reCount=#{reCount}, + customerId=#{customerId}, + supId=#{supId}, + unitFk=#{unitFk}, + invStorageCode=#{invStorageCode}, + invWarehouseCode=#{invWarehouseCode}, + + WHERE id = #{id} + + + \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/InvPreProductDetailDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/InvPreProductDetailDao.xml new file mode 100644 index 00000000..2f25ddc1 --- /dev/null +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/InvPreProductDetailDao.xml @@ -0,0 +1,221 @@ + + + + + + + + + + + + + insert INTO inv_pre_product_detail + (code, productIdFk, orderIdFk, customerId, mainAction, action, count, updateTime, + purchaseType, batchNo, productionDate, expireDate, unitFk, stockIdFk, supId, originCode + , invStorageCode, invWarehouseCode) + values (#{code}, + #{productIdFk}, #{orderIdFk}, + #{customerId}, #{mainAction}, #{action}, #{count}, #{updateTime}, + #{purchaseType}, #{batchNo}, #{productionDate}, #{expireDate}, #{unitFk}, #{stockIdFk} + , #{supId}, #{originCode}, #{invStorageCode}, #{invWarehouseCode}) + + + + + insert INTO inv_pre_product_detail + (code, productIdFk, orderIdFk, customerId, mainAction, action, count, updateTime, + purchaseType, batchNo, productionDate, expireDate, unitFk, stockIdFk, supId,originCode + , invStorageCode, invWarehouseCode) + values + + + ( + #{item.code}, + #{item.productIdFk},#{item.orderIdFk}, + #{item.customerId},#{item.mainAction},#{item.action},#{item.count},#{item.updateTime}, + #{item.purchaseType}, #{item.batchNo}, #{item.productionDate}, #{item.expireDate}, + #{item.unitFk},#{item.stockIdFk},#{item.supId},#{item.originCode}, #{item.invStorageCode}, + #{item.invWarehouseCode} + ) + + + + + + + DELETE + FROM inv_pre_product_detail + WHERE id = #{id} + + + + DELETE + FROM inv_pre_product_detail + + + AND productIdFk = #{productIdFk} + + + AND batchNo = #{batchNo} + + + AND supId = #{supId} + + + + + + + UPDATE inv_pre_product_detail + + code=#{code}, + productIdFk=#{productIdFk}, + customerId=#{customerId}, + mainAction=#{mainAction}, + action=#{action}, + count=#{count}, + unitFk=#{unitFk}, + purchaseType=#{purchaseType}, + batchNo=#{batchNo}, + productionDate=#{productionDate}, + expireDate=#{expireDate}, + stockIdFk=#{stockIdFk}, + supId=#{supId}, + originCode=#{originCode}, + invStorageCode=#{invStorageCode}, + invWarehouseCode=#{invWarehouseCode}, + + WHERE id = #{id} + + + \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDao.xml index bde3bf48..da7edd8e 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDao.xml @@ -43,7 +43,16 @@ AND unitFk = #{unitFk} + + AND invStorageCode = #{invStorageCode} + + + AND invWarehouseCode = #{invWarehouseCode} + + + GROUP BY #{groupType} + @@ -55,6 +64,30 @@ + + + + + insert INTO inv_product (productsName, nameCode, relIdFk, ggxh, batchNo, productionDate, expireDate, ylqxzcrbarmc, zczbhhzbapzbh, - inCount, outCount, reCount, customerId, unitFk, supId) + inCount, outCount, reCount, customerId, unitFk, supId, invStorageCode, invWarehouseCode) values (#{productsName}, #{nameCode}, #{relIdFk}, #{ggxh}, #{batchNo}, #{productionDate}, #{expireDate}, #{ylqxzcrbarmc}, #{zczbhhzbapzbh}, - #{inCount}, #{outCount}, #{reCount}, #{customerId}, #{unitFk}, #{supId}) + #{inCount}, #{outCount}, #{reCount}, #{customerId}, #{unitFk}, #{supId} + , #{invStorageCode}, #{invWarehouseCode}) @@ -149,6 +249,8 @@ customerId=#{customerId}, unitFk=#{unitFk}, supId=#{supId}, + invStorageCode=#{invStorageCode}, + invWarehouseCode=#{invWarehouseCode}, WHERE id = #{id} diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDetailDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDetailDao.xml index f80f150b..bebf55f7 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDetailDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDetailDao.xml @@ -42,7 +42,12 @@ AND originCode = #{originCode} - + + AND invStorageCode = #{invStorageCode} + + + AND invWarehouseCode = #{invWarehouseCode} + @@ -87,6 +92,12 @@ AND originCode = #{originCode} + + AND invStorageCode = #{invStorageCode} + + + AND invWarehouseCode = #{invWarehouseCode} + @@ -94,11 +105,13 @@ parameterType="com.glxp.api.admin.entity.inventory.InvProductDetailEntity"> insert INTO inv_product_detail (code, productIdFk, orderIdFk, customerId, mainAction, action, count, updateTime, - purchaseType, batchNo, productionDate, expireDate, unitFk, stockIdFk, supId,originCode) + purchaseType, batchNo, productionDate, expireDate, unitFk, stockIdFk, supId, originCode, invStorageCode, + invWarehouseCode) values (#{code}, #{productIdFk}, #{orderIdFk}, #{customerId}, #{mainAction}, #{action}, #{count}, #{updateTime}, - #{purchaseType}, #{batchNo}, #{productionDate}, #{expireDate}, #{unitFk}, #{stockIdFk}, #{supId},#{originCode}) + #{purchaseType}, #{batchNo}, #{productionDate}, #{expireDate}, #{unitFk}, #{stockIdFk}, #{supId}, + #{originCode}, #{invStorageCode}, #{invWarehouseCode}) @@ -148,7 +161,7 @@ UPDATE inv_product_detail - + code=#{code}, productIdFk=#{productIdFk}, customerId=#{customerId}, @@ -163,8 +176,9 @@ stockIdFk=#{stockIdFk}, supId=#{supId}, originCode=#{originCode}, - - + invStorageCode=#{invStorageCode}, + invWarehouseCode=#{invWarehouseCode}, + WHERE id = #{id} + + + - replace INTO inv_stockprint + replace + INTO inv_stockprint ( udiCode,udiRlIdFk,nameCode,cpmctymc,batchNo, produceDate,expireDate,serialNo,codeType,thirdId,thirdName, ggxh,ylqxzcrbarmc,zczbhhzbapzbh,warehouseName,warehouseCode,spaceCode,spaceName,genKeyFk,thirdSysFk - ,sOrderId,sDetailId,updateTime + ,sOrderId,sDetailId,updateTime,`count` ) values ( - #{udiCode}, - #{udiRlIdFk}, - #{nameCode}, - #{cpmctymc}, - #{batchNo}, - #{produceDate}, - #{expireDate}, - #{serialNo}, - #{codeType}, - #{thirdId}, - #{thirdName}, - #{ggxh}, - #{ylqxzcrbarmc}, - #{zczbhhzbapzbh}, - #{warehouseName}, - #{warehouseCode},#{spaceCode},#{spaceName},#{genKeyFk},#{thirdSysFk},#{sOrderId},#{sDetailId},#{updateTime} - ) + #{udiCode}, + #{udiRlIdFk}, + #{nameCode}, + #{cpmctymc}, + #{batchNo}, + #{produceDate}, + #{expireDate}, + #{serialNo}, + #{codeType}, + #{thirdId}, + #{thirdName}, + #{ggxh}, + #{ylqxzcrbarmc}, + #{zczbhhzbapzbh}, + #{warehouseName}, + #{warehouseCode}, + #{spaceCode}, + #{spaceName}, + #{genKeyFk}, + #{thirdSysFk}, + #{sOrderId}, + #{sDetailId}, + #{updateTime}, #{count} + ) @@ -92,7 +157,7 @@ udiCode,udiRlIdFk,nameCode,cpmctymc,batchNo, produceDate,expireDate,serialNo,codeType,thirdId,thirdName, ggxh,ylqxzcrbarmc,zczbhhzbapzbh,warehouseName,warehouseCode,spaceCode,spaceName,genKeyFk,thirdSysFk - ,sOrderId,sDetailId,updateTime + ,sOrderId,sDetailId,updateTime,count ) values @@ -115,21 +180,27 @@ #{item.zczbhhzbapzbh}, #{item.warehouseName}, #{item.warehouseCode},#{item.spaceCode},#{item.spaceName},#{item.genKeyFk},#{item.thirdSysFk} - ,#{item.sOrderId},#{item.sDetailId},#{item.updateTime} + ,#{item.sOrderId},#{item.sDetailId},#{item.updateTime},#{item.count} ) - DELETE FROM inv_stockprint WHERE id = #{id} + DELETE + FROM inv_stockprint + WHERE id = #{id} - DELETE FROM inv_stockprint WHERE genKeyFk = #{genKey} + DELETE + FROM inv_stockprint + WHERE genKeyFk = #{genKey} - DELETE FROM inv_stockprint WHERE sOrderId = #{sOrderId} + DELETE + FROM inv_stockprint + WHERE sOrderId = #{sOrderId} @@ -157,7 +228,7 @@ genKeyFk=#{genKeyFk}, sOrderId=#{sOrderId}, sDetailId=#{sDetailId}, - + `count`=#{count}, WHERE id = #{id} diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/InvWarehouseDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/InvWarehouseDao.xml index a2282989..01346530 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inventory/InvWarehouseDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/InvWarehouseDao.xml @@ -28,10 +28,54 @@ and code like concat('%',#{key},'%') or `name` like concat('%',#{key},'%') + + AND pcode = #{pcode} + + + AND level = #{level} + + + + + + + + + + - insert INTO inv_warehouse - (pid, code, name, advanceType, isDefault, - status, updateTime, remark, thirdId, thirdId1, thirdId2, thirdId3, thirdId4) - values (#{pid}, #{code}, - #{name}, #{advanceType}, #{isDefault}, - #{status}, #{updateTime}, - #{remark}, #{thirdId}, #{thirdId1}, - #{thirdId2}, #{thirdId3}, #{thirdId4}) + replace + INTO inv_warehouse + (pid, code, name, advanceType, isDefault, + status, updateTime, remark,level,pcode, thirdId, thirdId1, thirdId2, thirdId3, thirdId4) + values ( + #{pid}, + #{code}, + #{name}, + #{advanceType}, + #{isDefault}, + #{status}, + #{updateTime}, + #{remark}, + #{level}, + #{pcode}, #{thirdId}, #{thirdId1}, + #{thirdId2}, #{thirdId3}, #{thirdId4} + ) @@ -101,6 +194,8 @@ remark=#{thirdId2}, remark=#{thirdId3}, remark=#{thirdId4}, + level=#{level}, + pcode=#{pcode}, WHERE id = #{id} @@ -108,4 +203,21 @@ update inv_warehouse set ${sysId} = ${thridWarehouseId} where id = ${id} + + replace into inv_warehouse (id, pId, code, name, advanceType, isDefault, status, + updateTime, remark,level,pcode) values + + (#{item.id}, + #{item.pid}, + #{item.code}, + #{item.name}, + #{item.advanceType}, + #{item.isDefault}, + #{item.status}, + #{item.updateTime}, + #{item.remark}, #{item.level}, #{item.pcode}) + + + + \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/StockPrintTempDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/StockPrintTempDao.xml new file mode 100644 index 00000000..41bf7763 --- /dev/null +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/StockPrintTempDao.xml @@ -0,0 +1,63 @@ + + + + + + + + + + insert INTO inv_stockprint_pdf_temp + (fileName, filePath, status, printCodeIdFk, stockOrderFk, genKey) + values (#{fileName}, + #{filePath}, + #{status}, + #{printCodeIdFk}, #{stockOrderFk}, #{genKey}) + + + + + DELETE + FROM inv_stockprint_pdf_temp + + + AND printCodeIdFk = #{printCodeIdFk} + + + AND genKey = #{genKey} + + + AND stockOrderFk = #{stockOrderFk} + + + + + + UPDATE inv_stockprint_pdf_temp + + fileName=#{fileName}, + filePath=#{filePath}, + status=#{status}, + printCodeIdFk=#{printCodeIdFk}, + stockOrderFk=#{stockOrderFk}, + + WHERE genKey = #{genKey} + + + \ No newline at end of file