From f5e1e8ff092398d1bf3e3f6411152b87711babb0 Mon Sep 17 00:00:00 2001 From: 1178634255 <1178634255@qq.com> Date: Thu, 11 May 2023 17:26:23 +0800 Subject: [PATCH 01/20] =?UTF-8?q?=E4=B8=9A=E5=8A=A1=E6=B5=81=E8=BD=AC?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E4=BA=86=E2=80=98=E4=BA=A7=E5=93=81=E7=94=B3?= =?UTF-8?q?=E8=B4=AD=E2=80=99=E8=87=AA=E5=8A=A8=E7=94=9F=E6=88=90=E2=80=98?= =?UTF-8?q?=E9=87=87=E8=B4=AD=E8=AE=A1=E5=88=92=E2=80=99=EF=BC=8C=E6=97=A0?= =?UTF-8?q?=E8=BF=99=E4=B8=AA=E9=97=AE=E9=A2=98=20=E7=94=B3=E8=B4=AD?= =?UTF-8?q?=E5=8D=95=E6=8D=AE=E5=AE=A1=E6=A0=B8=E6=8F=90=E7=A4=BA=E2=80=98?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E7=B9=81=E5=BF=99=E2=80=99=EF=BC=8C=E5=8F=AF?= =?UTF-8?q?=E8=83=BD=E6=98=AF=E6=95=B0=E6=8D=AE=E5=BA=93=E5=A4=9A=E5=8A=A0?= =?UTF-8?q?=E4=BA=86=E5=87=A0=E6=9D=A1=E4=B8=80=E6=A0=B7=E7=9A=84=E6=95=B0?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../glxp/api/controller/purchase/IoPurChangeService.java | 6 ++++++ .../glxp/api/controller/purchase/PurApplyController.java | 1 + src/main/resources/application-dev.yml | 4 ++-- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/glxp/api/controller/purchase/IoPurChangeService.java b/src/main/java/com/glxp/api/controller/purchase/IoPurChangeService.java index 2b3157389..a3f02c130 100644 --- a/src/main/java/com/glxp/api/controller/purchase/IoPurChangeService.java +++ b/src/main/java/com/glxp/api/controller/purchase/IoPurChangeService.java @@ -120,12 +120,16 @@ public class IoPurChangeService { BasicBusTypeChangeEntity basicBusTypeChangeEntity = new BasicBusTypeChangeEntity(); //查询申购详情 List purApplyDetailEntityList = purApplyDetailService.findByOrderId(purApplyEntity.getId() + ""); + System.out.println("//---------------------------------判断申购为已审核就生成计划单-------------------------------------------//"); //---------------------------------判断申购为已审核就生成计划单-------------------------------------------// PurPlanEntity purPlanEntity = new PurPlanEntity(); List purPlanDetailEntityList = new ArrayList<>(); if (purApplyEntity.getStatus() == 3) { + basicBusTypeChangeEntity = basicBusTypeChangeService.selectByOriginAction("CPSG"); + if (basicBusTypeChangeEntity != null && StrUtil.isNotEmpty(basicBusTypeChangeEntity.getTargetBusAction()) && basicBusTypeChangeEntity.isEnable() == true) { + purPlanEntity.setBillNo(gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.JH_ORDER, "yyyyMMdd"))); purPlanEntity.setBillDate(purApplyEntity.getBillDate()); purPlanEntity.setStatus(basicBusTypeChangeEntity.getBusAuditStatus()); @@ -145,6 +149,7 @@ public class IoPurChangeService { //插入计划主表 purPlanService.insert(purPlanEntity); //用stream流复制list + System.out.println("111111111111111111111111111我要进来咯666666666666666++++++++++++++++"); purPlanDetailEntityList = purApplyDetailEntityList.stream().map(e -> { PurPlanDetailEntity d = new PurPlanDetailEntity(); d.setOrderIdFk(purPlanEntity.getId() + ""); @@ -153,6 +158,7 @@ public class IoPurChangeService { d.setCount(e.getCount()); d.setSupId(e.getSupId()); d.setZczbhhzbapzbh(e.getZczbhhzbapzbh()); + System.out.println("ddddddddddddddddddddddddddddddd"+d); return d; }).collect(Collectors.toList()); purPlanDetailService.insertPurPlanDetailEntity(purPlanDetailEntityList); diff --git a/src/main/java/com/glxp/api/controller/purchase/PurApplyController.java b/src/main/java/com/glxp/api/controller/purchase/PurApplyController.java index fbca70550..7b5d49678 100644 --- a/src/main/java/com/glxp/api/controller/purchase/PurApplyController.java +++ b/src/main/java/com/glxp/api/controller/purchase/PurApplyController.java @@ -164,6 +164,7 @@ public class PurApplyController { purApplyService.update(purApplyEntity); if (purApplyRequest.getStatus() == 3) { + // generateDocument(purApplyEntity); purChangeService.purApplyChange(purApplyEntity); } diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 7e59ac974..b8a8be397 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -4,9 +4,9 @@ server: spring: datasource: driver-class-name: com.p6spy.engine.spy.P6SpyDriver - jdbc-url: jdbc:p6spy:mysql://127.0.0.1:3306/udi_wms?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true + jdbc-url: jdbc:p6spy:mysql://127.0.0.1:3306/udi_wms_0510?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true username: root - password: 123456 + password: root hikari: connection-timeout: 60000 maximum-pool-size: 20 From 32ff539034edf2e9b37f17b1a6fdba1138d5068a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E6=98=8E=E6=A2=81?= <2429105222@qq.com> Date: Wed, 17 May 2023 16:16:44 +0800 Subject: [PATCH 02/20] =?UTF-8?q?=E5=A4=9A=E6=AC=A1=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E5=87=BA=E5=BA=93=E8=AE=BE=E7=BD=AE=E5=8A=9F=E8=83=BD=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/basic/BasicCorpController.java | 8 ++ .../inout/IoOrderMutiSetController.java | 88 +++++++++++++++++++ .../api/dao/inout/IoOrderMutiSetMapper.java | 6 ++ .../api/req/inout/IoOrderMutiSetRequest.java | 21 +++++ .../api/res/inout/IoOrderMutiSetResponse.java | 20 +++++ .../api/service/basic/BasicCorpService.java | 2 + .../basic/impl/BasicCorpServiceImpl.java | 5 ++ .../service/inout/IoOrderMutiSetService.java | 10 +++ .../inout/impl/IoOrderMutiSetServiceImpl.java | 24 +++++ .../mapper/inout/IoOrderMutiSetMapper.xml | 14 +++ 10 files changed, 198 insertions(+) create mode 100644 src/main/java/com/glxp/api/controller/inout/IoOrderMutiSetController.java create mode 100644 src/main/java/com/glxp/api/req/inout/IoOrderMutiSetRequest.java create mode 100644 src/main/java/com/glxp/api/res/inout/IoOrderMutiSetResponse.java diff --git a/src/main/java/com/glxp/api/controller/basic/BasicCorpController.java b/src/main/java/com/glxp/api/controller/basic/BasicCorpController.java index fdad7138e..58b20fe48 100644 --- a/src/main/java/com/glxp/api/controller/basic/BasicCorpController.java +++ b/src/main/java/com/glxp/api/controller/basic/BasicCorpController.java @@ -522,5 +522,13 @@ public class BasicCorpController { return ResultVOUtils.success(getCorpList); } + @AuthRuleAnnotation("") + @PostMapping("/udiwms/basic/unit/maintain/selectCorpList") + public BaseResponse selectCorpList(@RequestBody BasicUnitMaintainFilterRequest basicUnitMaintainFilterRequest) { + + List getCorpList = basicUnitMaintainService.selectCorpList(basicUnitMaintainFilterRequest); + return ResultVOUtils.success(getCorpList); + } + } diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderMutiSetController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderMutiSetController.java new file mode 100644 index 000000000..b8a286d0e --- /dev/null +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderMutiSetController.java @@ -0,0 +1,88 @@ +package com.glxp.api.controller.inout; + +import cn.hutool.core.util.IdUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.github.pagehelper.PageInfo; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.entity.inout.IoOrderMutiSetEntity; +import com.glxp.api.req.inout.FilterCodeRequest; +import com.glxp.api.req.inout.IoOrderMutiSetRequest; +import com.glxp.api.res.inout.IoCodeResponse; +import com.glxp.api.res.inout.IoOrderMutiSetResponse; +import com.glxp.api.service.inout.IoOrderMutiSetService; +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.Date; +import java.util.List; + +@RestController +public class IoOrderMutiSetController { + + @Resource + private IoOrderMutiSetService ioOrderMutiSetService; + + @GetMapping("/udiwms/inout/muti/filterList") + public BaseResponse filterList(IoOrderMutiSetRequest ioOrderMutiSetRequest) { + List list = ioOrderMutiSetService.filterList(ioOrderMutiSetRequest); + PageInfo pageInfo = new PageInfo<>(list); + return ResultVOUtils.page(pageInfo); + } + + + @PostMapping("/udiwms/inout/muti/add") + public BaseResponse addIoOrderMuti(@RequestBody IoOrderMutiSetEntity ioOrderMutiSetEntity) { + + QueryWrapper ew=new QueryWrapper<>(); + ew.eq("curInv",ioOrderMutiSetEntity.getCurInv()); + long count=ioOrderMutiSetService.count(ew); + if(count>0){ + return ResultVOUtils.error(999,"已存在该仓库的出入库设置!"); + } + + ioOrderMutiSetEntity.setId(IdUtil.getSnowflakeNextId()); + ioOrderMutiSetEntity.setUpdateTime(new Date()); + Boolean falg=ioOrderMutiSetService.save(ioOrderMutiSetEntity); + if(falg){ + return ResultVOUtils.success(); + }else{ + return ResultVOUtils.error(999,"添加失败"); + } + } + + + @PostMapping("/udiwms/inout/muti/update") + public BaseResponse updateIoOrderMuti(@RequestBody IoOrderMutiSetEntity ioOrderMutiSetEntity) { + + QueryWrapper ew=new QueryWrapper<>(); + ew.eq("curInv",ioOrderMutiSetEntity.getCurInv()); + IoOrderMutiSetEntity ioOrderMutiSetServiceOne=ioOrderMutiSetService.getOne(ew); + if(!ioOrderMutiSetServiceOne.getId().equals(ioOrderMutiSetEntity.getId())){ + return ResultVOUtils.error(999,"已存在该仓库的出入库设置!"); + } + + ioOrderMutiSetEntity.setUpdateTime(new Date()); + Boolean falg=ioOrderMutiSetService.updateById(ioOrderMutiSetEntity); + if(falg){ + return ResultVOUtils.success(); + }else{ + return ResultVOUtils.error(999,"更新失败"); + } + } + + @PostMapping("/udiwms/inout/muti/detail") + public BaseResponse detailIoOrderMuti(@RequestBody IoOrderMutiSetEntity ioOrderMutiSetEntity) { + + Boolean falg=ioOrderMutiSetService.removeById(ioOrderMutiSetEntity); + if(falg){ + return ResultVOUtils.success(); + }else{ + return ResultVOUtils.error(999,"删除失败"); + } + } + +} diff --git a/src/main/java/com/glxp/api/dao/inout/IoOrderMutiSetMapper.java b/src/main/java/com/glxp/api/dao/inout/IoOrderMutiSetMapper.java index 767880ce6..ec54c8790 100644 --- a/src/main/java/com/glxp/api/dao/inout/IoOrderMutiSetMapper.java +++ b/src/main/java/com/glxp/api/dao/inout/IoOrderMutiSetMapper.java @@ -2,8 +2,14 @@ package com.glxp.api.dao.inout; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.glxp.api.entity.inout.IoOrderMutiSetEntity; +import com.glxp.api.req.inout.IoOrderMutiSetRequest; +import com.glxp.api.res.inout.IoOrderMutiSetResponse; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + @Mapper public interface IoOrderMutiSetMapper extends BaseMapper { + + List filterList(IoOrderMutiSetRequest ioOrderMutiSetRequest); } diff --git a/src/main/java/com/glxp/api/req/inout/IoOrderMutiSetRequest.java b/src/main/java/com/glxp/api/req/inout/IoOrderMutiSetRequest.java new file mode 100644 index 000000000..80fc65e19 --- /dev/null +++ b/src/main/java/com/glxp/api/req/inout/IoOrderMutiSetRequest.java @@ -0,0 +1,21 @@ +package com.glxp.api.req.inout; + +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + +import java.util.Date; + +@Data +public class IoOrderMutiSetRequest extends ListPageRequest { + + private Long id; + private String curInv; + private String fromCorp; + private String targetAction; + private String remark; + private Date updateTime; + private String invName; + private String fromCorpName; + private String targetActionName; + +} diff --git a/src/main/java/com/glxp/api/res/inout/IoOrderMutiSetResponse.java b/src/main/java/com/glxp/api/res/inout/IoOrderMutiSetResponse.java new file mode 100644 index 000000000..a10d4c36d --- /dev/null +++ b/src/main/java/com/glxp/api/res/inout/IoOrderMutiSetResponse.java @@ -0,0 +1,20 @@ +package com.glxp.api.res.inout; + + +import lombok.Data; + +import java.util.Date; +@Data +public class IoOrderMutiSetResponse { + + private Long id; + private String curInv; + private String fromCorp; + private String targetAction; + private String remark; + private Date updateTime; + private String invName; + private String fromCorpName; + private String targetActionName; + +} diff --git a/src/main/java/com/glxp/api/service/basic/BasicCorpService.java b/src/main/java/com/glxp/api/service/basic/BasicCorpService.java index e96da293a..c1ef129ea 100644 --- a/src/main/java/com/glxp/api/service/basic/BasicCorpService.java +++ b/src/main/java/com/glxp/api/service/basic/BasicCorpService.java @@ -53,4 +53,6 @@ public interface BasicCorpService { List getCorpList(); + List selectCorpList(BasicUnitMaintainFilterRequest basicUnitMaintainFilterRequest); + } diff --git a/src/main/java/com/glxp/api/service/basic/impl/BasicCorpServiceImpl.java b/src/main/java/com/glxp/api/service/basic/impl/BasicCorpServiceImpl.java index 730103ef0..4c6638100 100644 --- a/src/main/java/com/glxp/api/service/basic/impl/BasicCorpServiceImpl.java +++ b/src/main/java/com/glxp/api/service/basic/impl/BasicCorpServiceImpl.java @@ -128,6 +128,11 @@ public class BasicCorpServiceImpl implements BasicCorpService { return basicCorpDao.getCorpList(); } + @Override + public List selectCorpList(BasicUnitMaintainFilterRequest basicUnitMaintainFilterRequest) { + return basicCorpDao.filterList(basicUnitMaintainFilterRequest); + } + @Override public BasicCorpEntity selectById(String id) { return basicCorpDao.selectById(id); diff --git a/src/main/java/com/glxp/api/service/inout/IoOrderMutiSetService.java b/src/main/java/com/glxp/api/service/inout/IoOrderMutiSetService.java index e8e59178c..8f6783bc4 100644 --- a/src/main/java/com/glxp/api/service/inout/IoOrderMutiSetService.java +++ b/src/main/java/com/glxp/api/service/inout/IoOrderMutiSetService.java @@ -2,7 +2,17 @@ package com.glxp.api.service.inout; import com.glxp.api.entity.inout.IoOrderMutiSetEntity; import com.baomidou.mybatisplus.extension.service.IService; +import com.glxp.api.req.inout.IoOrderMutiSetRequest; +import com.glxp.api.res.inout.IoOrderMutiSetResponse; + +import java.util.List; + public interface IoOrderMutiSetService extends IService{ + List filterList(IoOrderMutiSetRequest ioOrderMutiSetRequest); + + + + } diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoOrderMutiSetServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoOrderMutiSetServiceImpl.java index 8a4076ab8..3940b6114 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoOrderMutiSetServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoOrderMutiSetServiceImpl.java @@ -1,11 +1,35 @@ package com.glxp.api.service.inout.impl; +import com.github.pagehelper.PageHelper; +import com.glxp.api.req.inout.IoOrderMutiSetRequest; +import com.glxp.api.res.inout.IoOrderMutiSetResponse; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.glxp.api.entity.inout.IoOrderMutiSetEntity; import com.glxp.api.dao.inout.IoOrderMutiSetMapper; import com.glxp.api.service.inout.IoOrderMutiSetService; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + @Service public class IoOrderMutiSetServiceImpl extends ServiceImpl implements IoOrderMutiSetService{ + @Resource + private IoOrderMutiSetMapper ioOrderMutiSetMapper; + + @Override + public List filterList(IoOrderMutiSetRequest ioOrderMutiSetRequest) { + + if (ioOrderMutiSetRequest == null) { + return Collections.emptyList(); + } + if (ioOrderMutiSetRequest.getPage() != null) { + int offset = (ioOrderMutiSetRequest.getPage() - 1) * ioOrderMutiSetRequest.getLimit(); + PageHelper.offsetPage(offset, ioOrderMutiSetRequest.getLimit()); + } + List ioOrderMutiSetEntityList=ioOrderMutiSetMapper.filterList(ioOrderMutiSetRequest); + return ioOrderMutiSetEntityList; + } } diff --git a/src/main/resources/mybatis/mapper/inout/IoOrderMutiSetMapper.xml b/src/main/resources/mybatis/mapper/inout/IoOrderMutiSetMapper.xml index 6b3704fe0..cc9a5310a 100644 --- a/src/main/resources/mybatis/mapper/inout/IoOrderMutiSetMapper.xml +++ b/src/main/resources/mybatis/mapper/inout/IoOrderMutiSetMapper.xml @@ -1,4 +1,18 @@ + From be6abd2063b0c9b9e7218a764cc3cfe272ded76f Mon Sep 17 00:00:00 2001 From: anthonywj Date: Thu, 18 May 2023 10:55:40 +0800 Subject: [PATCH 03/20] =?UTF-8?q?bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/controller/auth/DeptController.java | 3 +- .../controller/basic/BasicCorpController.java | 16 +-- .../service/inout/IoCheckInoutService.java | 98 ++++++++++--------- .../impl/InvCountOrderDetailServiceImpl.java | 1 + .../mybatis/mapper/basic/BasicCorpDao.xml | 3 - 5 files changed, 57 insertions(+), 64 deletions(-) diff --git a/src/main/java/com/glxp/api/controller/auth/DeptController.java b/src/main/java/com/glxp/api/controller/auth/DeptController.java index c38f4dfc8..92dda8f71 100644 --- a/src/main/java/com/glxp/api/controller/auth/DeptController.java +++ b/src/main/java/com/glxp/api/controller/auth/DeptController.java @@ -46,7 +46,6 @@ public class DeptController { InvWarehouseService invWarehouseService; - @AuthRuleAnnotation("") @GetMapping("spms/inv/warehouse/filter") public BaseResponse filterInvWarehouse(FilterInvWarehouseRequest filterInvWarehouseRequest) { @@ -260,6 +259,7 @@ public class DeptController { @Resource DeptUserService deptUserService; + @AuthRuleAnnotation("") @PostMapping("/spms/inv/warehouse/delete") public BaseResponse delete(@RequestBody DeleteRequest deleteRequest) { @@ -361,5 +361,4 @@ public class DeptController { } - } diff --git a/src/main/java/com/glxp/api/controller/basic/BasicCorpController.java b/src/main/java/com/glxp/api/controller/basic/BasicCorpController.java index fdad7138e..c8c52b8e1 100644 --- a/src/main/java/com/glxp/api/controller/basic/BasicCorpController.java +++ b/src/main/java/com/glxp/api/controller/basic/BasicCorpController.java @@ -160,19 +160,11 @@ public class BasicCorpController { basicUnitMaintainFilterRequest.setOutType(ConstantStatus.CORP_SICK_SICK); List basicUnitMaintainEntities; basicUnitMaintainEntities = basicUnitMaintainService.filterList(basicUnitMaintainFilterRequest); - - List basicUnitMaintainResponses = basicUnitMaintainEntities.stream().map(item -> - { - BasicUnitMaintainResponse basicUnitMaintainResponse = new BasicUnitMaintainResponse(); - BeanUtils.copyProperties(item, basicUnitMaintainResponse); - basicUnitMaintainResponse.setUnitId(item.getErpId()); - return basicUnitMaintainResponse; - }).collect(Collectors.toList()); - PageInfo pageInfo; - pageInfo = new PageInfo<>(basicUnitMaintainResponses); - PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + PageInfo pageInfo; + pageInfo = new PageInfo<>(basicUnitMaintainEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); pageSimpleResponse.setTotal(pageInfo.getTotal()); - pageSimpleResponse.setList(basicUnitMaintainResponses); + pageSimpleResponse.setList(basicUnitMaintainEntities); return ResultVOUtils.success(pageSimpleResponse); } diff --git a/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java b/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java index 7d6c8858f..807aa1c76 100644 --- a/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java +++ b/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java @@ -801,7 +801,6 @@ public class IoCheckInoutService { orderEntity.setUpdateTime(new Date()); orderEntity.setAuditTime(new Date()); orderService.update(orderEntity); - List codeEntities = codeService.findByOrderId(orderEntity.getBillNo()); genInv(orderEntity, bussinessTypeEntity); } } @@ -935,53 +934,58 @@ public class IoCheckInoutService { @Resource InvWarehouseService invWarehouseService; - public void genBackOrder(IoOrderEntity orderEntity, List backCodeList) { - if (CollUtil.isEmpty(backCodeList)) + public void genBackOrder(IoOrderEntity orderEntity, List allCodeList) { + if (CollUtil.isEmpty(allCodeList)) return; - BasicBussinessTypeEntity basicBussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction()); - if (StrUtil.isNotEmpty(basicBussinessTypeEntity.getPreInBackAction())) { - IoOrderEntity outOrder = new IoOrderEntity(); - IoCodeEntity codeEntity = backCodeList.get(0); - outOrder.setId(null); - outOrder.setMainAction(ConstantType.TYPE_OUT); - outOrder.setAction(basicBussinessTypeEntity.getPreInBackAction()); - InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode(Constant.INV_PRE_IN_CODE); - outOrder.setInvCode(invWarehouseEntity.getCode()); - outOrder.setDeptCode(invWarehouseEntity.getParentId()); - outOrder.setFromCorp(codeEntity.getSupId()); - outOrder.setOrderType(2); - outOrder.setCreateTime(new Date()); - outOrder.setFromType(ConstantStatus.FROM_BACK); - String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + StrUtil.trimToEmpty(basicBussinessTypeEntity.getPrefix()), "yyyyMMdd")); - outOrder.setBillNo(orderNo); - outOrder.setCustomerId(Constant.SYSTEM_CUSTOMER_ID); - outOrder.setCorpOrderId(CustomUtil.getId() + "x"); - outOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); - orderEntity.setUllageSupNo(outOrder.getBillNo()); - orderEntity.setUpdateTime(new Date()); - orderService.update(orderEntity); - outOrder.setOriginUllageSupNo(orderEntity.getBillNo()); - outOrder.setCreateUser(null); - outOrder.setReviewUser(null); - orderService.insertOrder(outOrder); - - //生成条码 - List codeTempEntities = new ArrayList<>(); - for (IoCodeEntity warehouseEntity : backCodeList) { - IoCodeTempEntity codeTempEntity = new IoCodeTempEntity(); - BeanUtils.copyProperties(warehouseEntity, codeTempEntity); - codeTempEntity.setId(null); - codeTempEntity.setOrderId(outOrder.getBillNo()); - codeTempEntity.setAction(outOrder.getAction()); - codeTempEntity.setMainAction(outOrder.getMainAction()); - codeTempEntity.setCreateTime(new Date()); - codeTempEntity.setUpdateTime(new Date()); - codeTempEntities.add(codeTempEntity); - } - codeTempService.insertBatch(codeTempEntities); - addInoutService.dealProcess(outOrder); - if (!checkManual(outOrder.getBillNo())) { - check(outOrder.getBillNo()); + Map> map = allCodeList.stream().collect(Collectors.groupingBy(t -> t.getSupId())); + for (Map.Entry> entry : map.entrySet()) { + List backCodeList = entry.getValue(); + BasicBussinessTypeEntity basicBussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction()); + if (StrUtil.isNotEmpty(basicBussinessTypeEntity.getPreInBackAction())) { + IoOrderEntity outOrder = new IoOrderEntity(); + IoCodeEntity codeEntity = backCodeList.get(0); + outOrder.setId(null); + outOrder.setMainAction(ConstantType.TYPE_OUT); + outOrder.setAction(basicBussinessTypeEntity.getPreInBackAction()); + InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode(Constant.INV_PRE_IN_CODE); + outOrder.setInvCode(invWarehouseEntity.getCode()); + outOrder.setDeptCode(invWarehouseEntity.getParentId()); + outOrder.setFromCorp(codeEntity.getSupId()); + outOrder.setOrderType(2); + outOrder.setCreateTime(new Date()); + outOrder.setFromType(ConstantStatus.FROM_BACK); + String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + StrUtil.trimToEmpty(basicBussinessTypeEntity.getPrefix()), "yyyyMMdd")); + outOrder.setBillNo(orderNo); + outOrder.setCustomerId(Constant.SYSTEM_CUSTOMER_ID); + outOrder.setCorpOrderId(CustomUtil.getId() + "x"); + outOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); + orderEntity.setUllageSupNo(outOrder.getBillNo()); + orderEntity.setUpdateTime(new Date()); + orderService.update(orderEntity); + outOrder.setOriginUllageSupNo(orderEntity.getBillNo()); + outOrder.setCreateUser(null); + outOrder.setReviewUser(null); + orderService.insertOrder(outOrder); + + //生成条码 + List codeTempEntities = new ArrayList<>(); + for (IoCodeEntity warehouseEntity : backCodeList) { + IoCodeTempEntity codeTempEntity = new IoCodeTempEntity(); + BeanUtils.copyProperties(warehouseEntity, codeTempEntity); + codeTempEntity.setId(null); + codeTempEntity.setOrderId(outOrder.getBillNo()); + codeTempEntity.setAction(outOrder.getAction()); + codeTempEntity.setMainAction(outOrder.getMainAction()); + codeTempEntity.setCreateTime(new Date()); + codeTempEntity.setUpdateTime(new Date()); + codeTempEntities.add(codeTempEntity); + } + codeTempService.insertBatch(codeTempEntities); + addInoutService.dealProcess(outOrder); + if (!checkManual(outOrder.getBillNo())) { + check(outOrder.getBillNo()); + } + } } diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvCountOrderDetailServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvCountOrderDetailServiceImpl.java index 2259f7782..2c2cd1669 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvCountOrderDetailServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvCountOrderDetailServiceImpl.java @@ -110,6 +110,7 @@ public class InvCountOrderDetailServiceImpl implements InvCountOrderDetailServic InvCountCodesEntity codesEntity = codesMap.get(code); if (null == codesEntity) { //构造条码信息 + codesEntity = new InvCountCodesEntity(); codesEntity.setCode(code); codesEntity.setOrderIdFk(orderId); codesEntity.setCount(1); diff --git a/src/main/resources/mybatis/mapper/basic/BasicCorpDao.xml b/src/main/resources/mybatis/mapper/basic/BasicCorpDao.xml index fcb2f570c..9644c13e2 100644 --- a/src/main/resources/mybatis/mapper/basic/BasicCorpDao.xml +++ b/src/main/resources/mybatis/mapper/basic/BasicCorpDao.xml @@ -24,9 +24,6 @@ AND id = #{id} - - AND unitId = #{unitId} - AND erpId = #{erpId} From f2968bf2757bf5176346b8b6a61050bdaf42fdce Mon Sep 17 00:00:00 2001 From: anthonywj Date: Thu, 18 May 2023 17:28:04 +0800 Subject: [PATCH 04/20] =?UTF-8?q?=E5=8D=95=E6=8D=AE=E5=A4=8D=E5=88=B6?= =?UTF-8?q?=EF=BC=8C=E5=8D=95=E6=8D=AE=E6=B5=81=E8=BD=AC=E5=B8=A6=E4=B8=9A?= =?UTF-8?q?=E5=8A=A1=E5=8D=95=E4=BF=A1=E6=81=AF=EF=BC=8C=E9=87=87=E8=B4=AD?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E6=96=B0=E5=A2=9E=E4=BB=B7=E6=A0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/inout/IoOrderController.java | 24 +- .../entity/purchase/PurOrderDetailEntity.java | 7 +- .../glxp/api/res/inout/IoOrderResponse.java | 6 +- .../service/inout/IoChangeInoutService.java | 10 +- .../service/inout/IoCheckInoutService.java | 5 +- .../com/glxp/api/util/GennerOrderUtils.java | 1 - .../mapper/purchase/PurOrderDetailDao.xml | 343 +++++++++--------- src/main/resources/schemas/schema_v2.1.sql | 2 + 8 files changed, 220 insertions(+), 178 deletions(-) diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java index e51adc96d..af7f52692 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java @@ -2,6 +2,7 @@ package com.glxp.api.controller.inout; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageInfo; import com.glxp.api.annotation.AuthRuleAnnotation; @@ -702,14 +703,27 @@ public class IoOrderController extends BaseController { newOrder.setDealStatus(ConstantStatus.ORDER_DEAL_DRAFT);//设置单据未草稿状态 newOrder.setStatus(ConstantStatus.ORDER_STATUS_TEMP_SAVE); //设置验收状态为未验收 newOrder.setFromType(ConstantStatus.FROM_COPY); + newOrder.setOrderType(2); BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(addOrderChangeRequest.getAction()); - String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + StrUtil.trim(bussinessTypeEntity.getPrefix()), "yyyyMMdd")); + String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + StrUtil.trimToEmpty(bussinessTypeEntity.getPrefix()), "yyyyMMdd")); String supplementOrderNo = orderNo; newOrder.setBillNo(supplementOrderNo); newOrder.setReplicateNo(null); //新单据的复制单号置空 originOrder.setReplicateNo(orderNo); List supplementCodes = new ArrayList<>(); + + // 生成业务单 + List orderDetailBizEntities = orderDetailBizService.findByOrderId(originOrder.getBillNo()); + if (CollUtil.isNotEmpty(orderDetailBizEntities)) { + for (IoOrderDetailBizEntity orderDetailBizEntity : orderDetailBizEntities) { + orderDetailBizEntity.setOrderIdFk(newOrder.getBillNo()); + orderDetailBizEntity.setId(IdUtil.getSnowflakeNextId()); + orderDetailBizService.insert(orderDetailBizEntity); + } + } + + List products = addOrderChangeRequest.getProducts(); originCodes.forEach( code -> { @@ -720,7 +734,6 @@ public class IoOrderController extends BaseController { || (StrUtil.isBlank(product.getBatchNo()) && StrUtil.isBlank(code.getBatchNo()))) { IoCodeTempEntity supplementCode = new IoCodeTempEntity(); BeanUtil.copyProperties(code, supplementCode); - supplementCode.setCode(product.getCode()); supplementCode.setInvCode(newOrder.getInvCode()); supplementCode.setDeptCode(newOrder.getDeptCode()); supplementCode.setOrderId(newOrder.getBillNo()); @@ -742,6 +755,13 @@ public class IoOrderController extends BaseController { orderService.insertOrder(newOrder); codeTempService.insertBatch(supplementCodes); orderService.update(originOrder); + + ioAddInoutService.dealProcess(newOrder); + //不需要手动校验,则走正常单据校验处理流程 + if (!ioCheckInoutService.checkManual(newOrder.getBillNo())) { + ioCheckInoutService.check(newOrder.getBillNo()); + } + return ResultVOUtils.success(); } diff --git a/src/main/java/com/glxp/api/entity/purchase/PurOrderDetailEntity.java b/src/main/java/com/glxp/api/entity/purchase/PurOrderDetailEntity.java index 5879df14c..1628f411c 100644 --- a/src/main/java/com/glxp/api/entity/purchase/PurOrderDetailEntity.java +++ b/src/main/java/com/glxp/api/entity/purchase/PurOrderDetailEntity.java @@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; +import java.math.BigDecimal; + @Data @TableName(value = "pur_order_detail") public class PurOrderDetailEntity { @@ -42,6 +44,9 @@ public class PurOrderDetailEntity { @TableField(value = "supId") private String supId; + @TableField(value = "price") + private BigDecimal price; + /** * 注册证备案证号 */ @@ -61,4 +66,4 @@ public class PurOrderDetailEntity { public static final String COL_SUPID = "supId"; public static final String COL_ZCZBHHZBAPZBH = "zczbhhzbapzbh"; -} \ No newline at end of file +} diff --git a/src/main/java/com/glxp/api/res/inout/IoOrderResponse.java b/src/main/java/com/glxp/api/res/inout/IoOrderResponse.java index c8055b82d..6e4a8f78d 100644 --- a/src/main/java/com/glxp/api/res/inout/IoOrderResponse.java +++ b/src/main/java/com/glxp/api/res/inout/IoOrderResponse.java @@ -242,11 +242,11 @@ public class IoOrderResponse { public String getFromName() { - - if (StrUtil.isNotEmpty(fromCorpName)) - return fromCorpName; if (StrUtil.isNotEmpty(fromInvName)) return fromInvName; + if (StrUtil.isNotEmpty(fromCorpName)) + return fromCorpName; + return fromName; } } diff --git a/src/main/java/com/glxp/api/service/inout/IoChangeInoutService.java b/src/main/java/com/glxp/api/service/inout/IoChangeInoutService.java index 4edc166ab..5f110535a 100644 --- a/src/main/java/com/glxp/api/service/inout/IoChangeInoutService.java +++ b/src/main/java/com/glxp/api/service/inout/IoChangeInoutService.java @@ -259,8 +259,14 @@ public class IoChangeInoutService { codeTempService.insertBatch(codeTempEntities); // 生成业务单 - - + List orderDetailBizEntities = orderDetailBizService.findByOrderId(orderEntity.getBillNo()); + if (CollUtil.isNotEmpty(orderDetailBizEntities)) { + for (IoOrderDetailBizEntity orderDetailBizEntity : orderDetailBizEntities) { + orderDetailBizEntity.setOrderIdFk(outOrder.getBillNo()); + orderDetailBizEntity.setId(IdUtil.getSnowflakeNextId()); + orderDetailBizService.insert(orderDetailBizEntity); + } + } if (isGenInovice) { //生成发票信息 diff --git a/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java b/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java index 807aa1c76..c585e333f 100644 --- a/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java +++ b/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java @@ -283,7 +283,10 @@ public class IoCheckInoutService { return; } if (orderEntity.getFromType() != ConstantStatus.FROM_UDISP) { - orderDetailBizService.deleteByOrderId(orderEntity.getBillNo()); + if (orderEntity.getFromType() != ConstantStatus.FROM_COPY + && orderEntity.getFromType() != ConstantStatus.FROM_CHANGE) { + orderDetailBizService.deleteByOrderId(orderEntity.getBillNo()); + } orderDetailResultService.deleteByOrderId(orderEntity.getBillNo()); if (!orderDetailBizService.isExit(orderEntity.getBillNo())) { orderDetailCodeEntities.forEach(orderDetailCodeEntity -> diff --git a/src/main/java/com/glxp/api/util/GennerOrderUtils.java b/src/main/java/com/glxp/api/util/GennerOrderUtils.java index b2f884b1c..72bea5e55 100644 --- a/src/main/java/com/glxp/api/util/GennerOrderUtils.java +++ b/src/main/java/com/glxp/api/util/GennerOrderUtils.java @@ -175,7 +175,6 @@ public class GennerOrderUtils { return completionRandom(serialWithPrefix, orderNoTypeEnum); } - private Long getSecondsNextEarlyMorning() { Calendar cal = Calendar.getInstance(); cal.add(Calendar.DAY_OF_YEAR, 1); diff --git a/src/main/resources/mybatis/mapper/purchase/PurOrderDetailDao.xml b/src/main/resources/mybatis/mapper/purchase/PurOrderDetailDao.xml index fcab2bda2..788d7a339 100644 --- a/src/main/resources/mybatis/mapper/purchase/PurOrderDetailDao.xml +++ b/src/main/resources/mybatis/mapper/purchase/PurOrderDetailDao.xml @@ -1,177 +1,184 @@ - - - - - - - - - - - - - - id, orderIdFk, productId, productName, `count`, supId, zczbhhzbapzbh - - - - - - - - - - - - DELETE FROM pur_order_detail WHERE id in - - #{item} - - - - - - - - DELETE - FROM pur_order_detail - WHERE orderIdFk = #{orderIdFk} - - - - UPDATE pur_order_detail - - orderIdFk=#{orderIdFk}, - productId=#{productId}, - productName=#{productName}, - `count`=#{count}, - supId=#{supId}, - zczbhhzbapzbh=#{zczbhhzbapzbh}, - - WHERE id = #{id} - - + + + + + + + + + + + + + + id, orderIdFk, productId, productName, `count`, supId, zczbhhzbapzbh + + + + - - REPLACE INTO pur_order_detail - ( orderIdFk,productId,productName,count,supId,zczbhhzbapzbh) values + - - ( - #{item.orderIdFk}, - #{item.productId}, - #{item.productName}, - #{item.count}, - #{item.supId}, - #{item.zczbhhzbapzbh} - ) - - - + + DELETE + FROM pur_order_detail WHERE id in + + #{item} + + + + + + DELETE + FROM pur_order_detail + WHERE orderIdFk = #{orderIdFk} + + + + UPDATE pur_order_detail + + + orderIdFk=#{orderIdFk}, + + + productId=#{productId}, + + + productName=#{productName}, + + + `count`=#{count}, + + + supId=#{supId}, + + + zczbhhzbapzbh=#{zczbhhzbapzbh}, + + + price=#{price}, + + + WHERE id = #{id} + + + + + REPLACE INTO pur_order_detail + (orderIdFk, productId, productName, count, supId, zczbhhzbapzbh, price) values + + + (#{item.orderIdFk}, + #{item.productId}, + #{item.productName}, + #{item.count}, + #{item.supId}, + #{item.zczbhhzbapzbh}, #{item.price}) + + + + - + SELECT pur_order_detail.*, + pur_order.billNo, + basic_products.ggxh spec, + basic_products.measname, + basic_products.manufactory, + basic_products.ylqxzcrbarmc, + basic_corp.`name` supName + FROM pur_order_detail + INNER JOIN basic_udirel ON pur_order_detail.productId = basic_udirel.id + INNER JOIN basic_products ON basic_udirel.uuid = basic_products.uuid + INNER JOIN basic_corp ON pur_order_detail.supId = basic_corp.erpId + left join pur_order on pur_order.id = pur_order_detail.orderIdFk + + + AND pur_order.billNo like concat('%', #{billNo}, '%') + + + AND productId like concat('%', #{productId}, '%') + + + AND productName like concat('%', #{productName}, '%') + + + AND basic_products.ggxh like concat('%', #{spec}, '%') + + + AND pur_order_detail.zczbhhzbapzbh like concat('%', #{zczbhhzbapzbh}, '%') + + + AND basic_products.manufactory like concat('%', #{manufactory}, '%') + + + = #{startDate} + ]]> + + + + + and pur_order.status = 3 + diff --git a/src/main/resources/schemas/schema_v2.1.sql b/src/main/resources/schemas/schema_v2.1.sql index a08100bc1..21ccb9c45 100644 --- a/src/main/resources/schemas/schema_v2.1.sql +++ b/src/main/resources/schemas/schema_v2.1.sql @@ -435,3 +435,5 @@ CALL Pro_Temp_ColumnWork('io_code_temp', 'preInSpaceCode', 'varchar(255)', 1); CALL Pro_Temp_ColumnWork('io_code', 'preSpaceCode', 'varchar(255)', 1); CALL Pro_Temp_ColumnWork('io_code', 'preInSpaceCode', 'varchar(255)', 1); + +CALL Pro_Temp_ColumnWork('pur_order_detail', 'price', 'decimal(10, 2)', 1); From 14c4bd02481e38fa55af77b87019f2028055a735 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E6=98=8E=E6=A2=81?= <2429105222@qq.com> Date: Thu, 18 May 2023 17:59:09 +0800 Subject: [PATCH 05/20] =?UTF-8?q?=E5=A4=9A=E6=AC=A1=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E5=87=BA=E5=BA=93=E6=96=B0=E5=A2=9E=E5=8A=9F=E8=83=BD=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inout/IoOrderMutiController.java | 255 ++++++++++++++++++ .../glxp/api/dao/inout/IoOrderMutiMapper.java | 6 + .../api/entity/inout/IoOrderMutiEntity.java | 6 + .../entity/inout/IoOrderMutiUseEntity.java | 7 + .../api/req/inout/IoOrderMutiRequest.java | 37 +++ .../api/res/inout/IoOrderMutiResponse.java | 40 +++ .../api/service/inout/IoOrderMutiService.java | 6 + .../service/inout/IoOrderMutiUseService.java | 1 + .../inout/impl/IoOrderMutiServiceImpl.java | 24 ++ .../com/glxp/api/util/GennerOrderUtils.java | 25 ++ .../com/glxp/api/util/OrderNoTypeBean.java | 9 + .../mapper/inout/IoOrderMutiMapper.xml | 33 +++ 12 files changed, 449 insertions(+) create mode 100644 src/main/java/com/glxp/api/controller/inout/IoOrderMutiController.java create mode 100644 src/main/java/com/glxp/api/req/inout/IoOrderMutiRequest.java create mode 100644 src/main/java/com/glxp/api/res/inout/IoOrderMutiResponse.java diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderMutiController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderMutiController.java new file mode 100644 index 000000000..d45923d23 --- /dev/null +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderMutiController.java @@ -0,0 +1,255 @@ +package com.glxp.api.controller.inout; + +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.github.pagehelper.PageInfo; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.constant.Constant; +import com.glxp.api.entity.basic.UdiEntity; +import com.glxp.api.entity.basic.UdiProductEntity; +import com.glxp.api.entity.inout.IoOrderMutiEntity; +import com.glxp.api.entity.inout.IoOrderMutiSetEntity; +import com.glxp.api.entity.inout.IoOrderMutiUseEntity; +import com.glxp.api.req.inout.IoOrderMutiRequest; +import com.glxp.api.res.inout.IoOrderMutiResponse; +import com.glxp.api.res.inout.IoOrderMutiSetResponse; +import com.glxp.api.service.auth.CustomerService; +import com.glxp.api.service.basic.UdiProductService; +import com.glxp.api.service.inout.IoOrderMutiService; +import com.glxp.api.service.inout.IoOrderMutiUseService; +import com.glxp.api.util.GennerOrderUtils; +import com.glxp.api.util.OrderNoTypeBean; +import com.glxp.api.util.RedisUtil; +import com.glxp.api.util.udi.FilterUdiUtils; +import org.springframework.beans.BeanUtils; +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.lang.reflect.InvocationTargetException; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@RestController +public class IoOrderMutiController { + + @Resource + private IoOrderMutiService ioOrderMutiService; + @Resource + private UdiProductService udiProductService; + @Resource + private IoOrderMutiUseService ioOrderMutiUseService; + @Resource + RedisUtil redisUtil; + @Resource + CustomerService customerService; + @Resource + GennerOrderUtils gennerOrderUtils; + + + @PostMapping("/udiwms/inout/order/muti/checkUdi") + public BaseResponse checkUdi(@RequestBody IoOrderMutiEntity ioOrderMutiEntity) { + + if (StrUtil.isNotBlank(ioOrderMutiEntity.getUdiCode())) { + //查询码是否包含序列号 + UdiEntity udiEntity = FilterUdiUtils.getUdi(ioOrderMutiEntity.getUdiCode()); + if (StrUtil.isNotBlank(udiEntity.getSerialNo())) { + //包含 + QueryWrapper ew = new QueryWrapper<>(); + ew.eq("udiCode", ioOrderMutiEntity.getUdiCode()); + IoOrderMutiEntity ioOrderMutiEntityOne = ioOrderMutiService.getOne(ew); + //查询是否被使用过 + if (ioOrderMutiEntityOne != null) { + if (ioOrderMutiEntityOne.getReCount() == 0) { + return ResultVOUtils.error(999, "该产品库存不足!"); + } + return ResultVOUtils.success(ioOrderMutiEntityOne.getId()); + } else { + //查询物资信息 + UdiProductEntity udiProductEntity = udiProductService.findByNameCode(udiEntity.getUdi()); + ioOrderMutiEntityOne = new IoOrderMutiEntity(); + ioOrderMutiEntityOne.setId(IdUtil.getSnowflakeNextId()); + ioOrderMutiEntityOne.setUdiCode(ioOrderMutiEntity.getUdiCode()); + ioOrderMutiEntityOne.setBatchNo(udiProductEntity.getBatchNo()); + ioOrderMutiEntityOne.setExpireDate(udiProductEntity.getExpireDate()); + ioOrderMutiEntityOne.setProduceDate(udiProductEntity.getProduceDate()); + ioOrderMutiEntityOne.setTotalCount(20); + ioOrderMutiEntityOne.setStatus(0); + ioOrderMutiEntityOne.setCreateUser(customerService.getUserId() + ""); + ioOrderMutiEntityOne.setUseCount(0); + ioOrderMutiEntityOne.setReCount(20); + ioOrderMutiEntityOne.setCreateTime(new Date()); + ioOrderMutiEntityOne.setUpdateTime(new Date()); + ioOrderMutiEntityOne.setNameCode(udiProductEntity.getNameCode()); + ioOrderMutiEntityOne.setSerialNo(udiProductEntity.getSerialNo()); + ioOrderMutiEntityOne.setSupId(udiProductEntity.getSupId()); + ioOrderMutiService.save(ioOrderMutiEntityOne); + return ResultVOUtils.success(ioOrderMutiEntityOne.getId()); + } + } else { + //不包含 + return ResultVOUtils.error(888, ""); + } + } else { + return ResultVOUtils.error(999, "请选填写UDI码!"); + } + } + + + @GetMapping("/udiwms/inout/order/muti/filterMutiList") + public BaseResponse filterMutiList(IoOrderMutiEntity ioOrderMutiEntity) { + + ioOrderMutiEntity = ioOrderMutiService.getById(ioOrderMutiEntity.getId()); + UdiProductEntity udiProductEntity = udiProductService.findByNameCode(ioOrderMutiEntity.getNameCode()); + IoOrderMutiResponse ioOrderMutiResponse = new IoOrderMutiResponse(); + BeanUtils.copyProperties(ioOrderMutiEntity, ioOrderMutiResponse); + ioOrderMutiResponse.setCpmctymc(udiProductEntity.getCpmctymc()); + ioOrderMutiResponse.setGgxh(udiProductEntity.getGgxh()); + QueryWrapper ew = new QueryWrapper<>(); + ew.eq("mutiIdFk", ioOrderMutiEntity.getId()); + ew.select("io_order_muti_use.*,(SELECT userName FROM auth_user WHERE auth_user.id=io_order_muti_use.useUser) as createUserName"); + List ioOrderMutiUseEntityList = ioOrderMutiUseService.list(ew); + Map map = new HashMap<>(); + map.put("data", ioOrderMutiResponse); + map.put("detailList", ioOrderMutiUseEntityList); + return ResultVOUtils.success(map); + + } + + + @PostMapping("/udiwms/inout/order/muti/addOrderMuti") + public BaseResponse addOrderMuti(@RequestBody IoOrderMutiEntity ioOrderMutiEntity) { + + if (StrUtil.isNotBlank(ioOrderMutiEntity.getUdiCode())) { + UdiEntity udiEntity = FilterUdiUtils.getUdi(ioOrderMutiEntity.getUdiCode()); + //查询物资信息 + UdiProductEntity udiProductEntity = udiProductService.findByNameCode(udiEntity.getUdi()); + + IoOrderMutiEntity ioOrderMutiEntity1 = new IoOrderMutiEntity(); + ioOrderMutiEntity1.setId(IdUtil.getSnowflakeNextId()); + ioOrderMutiEntity1.setUdiCode(ioOrderMutiEntity.getUdiCode()); + ioOrderMutiEntity1.setBatchNo(udiProductEntity.getBatchNo()); + ioOrderMutiEntity1.setExpireDate(udiProductEntity.getExpireDate()); + ioOrderMutiEntity1.setProduceDate(udiProductEntity.getProduceDate()); + ioOrderMutiEntity1.setTotalCount(20); + ioOrderMutiEntity1.setStatus(0); + ioOrderMutiEntity1.setUseCount(0); + ioOrderMutiEntity1.setReCount(20); + ioOrderMutiEntity1.setCreateUser(customerService.getUserId() + ""); + ioOrderMutiEntity1.setCreateTime(new Date()); + ioOrderMutiEntity1.setUpdateTime(new Date()); + ioOrderMutiEntity1.setNameCode(udiProductEntity.getNameCode()); + ioOrderMutiEntity1.setSerialNo(udiProductEntity.getSerialNo()); + ioOrderMutiEntity1.setSupId(udiProductEntity.getSupId()); + ioOrderMutiService.save(ioOrderMutiEntity1); + return ResultVOUtils.success(ioOrderMutiEntity1.getId()); + } else { + return ResultVOUtils.error(999, "请选填写UDI码!"); + } + } + + @PostMapping("/udiwms/inout/order/muti/updateOrderMuti") + public BaseResponse updateOrderMuti(@RequestBody IoOrderMutiEntity ioOrderMutiEntity) { + ioOrderMutiEntity.setReCount(ioOrderMutiEntity.getTotalCount() - ioOrderMutiEntity.getUseCount()); + ioOrderMutiEntity.setCreateTime(new Date()); + ioOrderMutiEntity.setCreateUser(customerService.getUserId() + ""); + ioOrderMutiEntity.setUpdateTime(new Date()); + ioOrderMutiEntity.setUpdateUser(customerService.getUserId() + ""); + boolean falg = ioOrderMutiService.updateById(ioOrderMutiEntity); + + + QueryWrapper ew = new QueryWrapper<>(); + ew.eq("mutiIdFk", ioOrderMutiEntity.getId()); + List ioOrderMutiUseEntityList = ioOrderMutiUseService.list(ew); + for (IoOrderMutiUseEntity ioOrderMutiUseEntity : ioOrderMutiUseEntityList) { + ioOrderMutiUseEntity.setStatus(1); + } + ioOrderMutiUseService.updateBatchById(ioOrderMutiUseEntityList); + + if (falg) { + return ResultVOUtils.success(); + } else { + return ResultVOUtils.error(999, "更新失败"); + } + } + + + @PostMapping("/udiwms/inout/order/muti/filterMutiDetailList") + public BaseResponse filterMutiDetailList(@RequestBody IoOrderMutiRequest ioOrderMutiRequest) { + + ioOrderMutiRequest.setStatus(0); + List ioOrderMutiEntityList = ioOrderMutiService.filterList(ioOrderMutiRequest); + return ResultVOUtils.success(ioOrderMutiEntityList); + } + + @PostMapping("/udiwms/inout/order/muti/selectMutiDetailList") + public BaseResponse selectMutiDetailList(@RequestBody IoOrderMutiUseEntity ioOrderMutiUseEntity) { + + QueryWrapper ew = new QueryWrapper<>(); + ew.eq("mutiIdFk", ioOrderMutiUseEntity.getMutiIdFk()); + ew.select("io_order_muti_use.*,(SELECT userName FROM auth_user WHERE auth_user.id=io_order_muti_use.useUser) as createUserName"); + List ioOrderMutiEntityList = ioOrderMutiUseService.list(ew); + return ResultVOUtils.success(ioOrderMutiEntityList); + } + + + @PostMapping("/udiwms/inout/order/muti/selectMutiList") + public BaseResponse selectMutiList(@RequestBody IoOrderMutiRequest ioOrderMutiRequest) { + List list = ioOrderMutiService.filterList(ioOrderMutiRequest); + PageInfo pageInfo = new PageInfo<>(list); + return ResultVOUtils.page(pageInfo); + } + + + @PostMapping("/udiwms/inout/order/muti/addMutiDetail") + public BaseResponse addMutiDetail(@RequestBody IoOrderMutiUseEntity ioOrderMutiUseEntity) { + int sum = 0; + QueryWrapper ew = new QueryWrapper<>(); + ew.eq("mutiIdFk", ioOrderMutiUseEntity.getMutiIdFk()); + Long count = ioOrderMutiUseService.count(ew); + if (count == null) { + sum = 0; + } else { + sum = count.intValue(); + } + IoOrderMutiEntity ioOrderMutiEntity = ioOrderMutiService.getById(ioOrderMutiUseEntity.getMutiIdFk()); + if (ioOrderMutiEntity.getTotalCount() - count == 0) { + return ResultVOUtils.error(999, "该产品数量不足!"); + } + ioOrderMutiUseEntity.setId(IdUtil.getSnowflakeNextId()); + ioOrderMutiUseEntity.setCurIndex(sum + 1); + ioOrderMutiUseEntity.setUseUser(customerService.getUserId() + ""); + ioOrderMutiUseEntity.setUseTime(new Date()); + ioOrderMutiUseService.save(ioOrderMutiUseEntity); + return ResultVOUtils.success(); + } + + @GetMapping("/udiwms/inout/order/muti/getMark") + public BaseResponse getMark() { + String recordId = gennerOrderUtils.createOrderMark(new OrderNoTypeBean("yyMMdd")); + return ResultVOUtils.success(recordId); + } + + @PostMapping("/udiwms/inout/order/muti/delectMutiDelect") + public BaseResponse delectMutiDelect(@RequestBody IoOrderMutiUseEntity ioOrderMutiUseEntity) { + ioOrderMutiUseService.removeById(ioOrderMutiUseEntity); + return ResultVOUtils.success(); + } + + @PostMapping("/udiwms/inout/order/muti/delectMuti") + public BaseResponse delectMuti(@RequestBody IoOrderMutiEntity ioOrderMutiEntity) { + + Boolean falg=ioOrderMutiService.removeById(ioOrderMutiEntity); + if(falg){ + return ResultVOUtils.success(); + }else{ + return ResultVOUtils.error(999,"删除失败"); + } + } +} diff --git a/src/main/java/com/glxp/api/dao/inout/IoOrderMutiMapper.java b/src/main/java/com/glxp/api/dao/inout/IoOrderMutiMapper.java index 1aacd097c..26b4d0891 100644 --- a/src/main/java/com/glxp/api/dao/inout/IoOrderMutiMapper.java +++ b/src/main/java/com/glxp/api/dao/inout/IoOrderMutiMapper.java @@ -2,8 +2,14 @@ package com.glxp.api.dao.inout; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.glxp.api.entity.inout.IoOrderMutiEntity; +import com.glxp.api.req.inout.IoOrderMutiRequest; +import com.glxp.api.res.inout.IoOrderMutiResponse; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + @Mapper public interface IoOrderMutiMapper extends BaseMapper { + + List filterList(IoOrderMutiRequest ioOrderMutiRequest); } diff --git a/src/main/java/com/glxp/api/entity/inout/IoOrderMutiEntity.java b/src/main/java/com/glxp/api/entity/inout/IoOrderMutiEntity.java index 6c6671b58..0792e6ee0 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoOrderMutiEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoOrderMutiEntity.java @@ -136,4 +136,10 @@ public class IoOrderMutiEntity { @TableField(value = "auditTime") private Date auditTime; + /** + * 状态0未提交1已提交 + */ + @TableField(value = "status") + private Integer status; + } diff --git a/src/main/java/com/glxp/api/entity/inout/IoOrderMutiUseEntity.java b/src/main/java/com/glxp/api/entity/inout/IoOrderMutiUseEntity.java index 9a918cf97..806bd3a48 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoOrderMutiUseEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoOrderMutiUseEntity.java @@ -57,4 +57,11 @@ public class IoOrderMutiUseEntity { */ @TableField(value = "remark") private String remark; + + + @TableField(value = "status") + private Integer status; + + @TableField(exist=false) + private String createUserName; } diff --git a/src/main/java/com/glxp/api/req/inout/IoOrderMutiRequest.java b/src/main/java/com/glxp/api/req/inout/IoOrderMutiRequest.java new file mode 100644 index 000000000..f88c66b11 --- /dev/null +++ b/src/main/java/com/glxp/api/req/inout/IoOrderMutiRequest.java @@ -0,0 +1,37 @@ +package com.glxp.api.req.inout; + +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + +import java.util.Date; + +@Data +public class IoOrderMutiRequest extends ListPageRequest { + + private Long id; + private String orderIdFk; + private String udiCode; + private String relIdFk; + private String mark; + private Integer totalCount; + private Integer useCount; + private Integer reCount; + private Date createTime; + private Date updateTime; + private String createUser; + private String updateUser; + private String reamrk; + private String nameCode; + private String batchNo; + private String produceDate; + private String expireDate; + private String serialNo; + private String supId; + private String auditUser; + private Date auditTime; + private String cpmctymc; + private String ggxh; + private Integer status; + private String createUserName; + +} diff --git a/src/main/java/com/glxp/api/res/inout/IoOrderMutiResponse.java b/src/main/java/com/glxp/api/res/inout/IoOrderMutiResponse.java new file mode 100644 index 000000000..c312a9810 --- /dev/null +++ b/src/main/java/com/glxp/api/res/inout/IoOrderMutiResponse.java @@ -0,0 +1,40 @@ +package com.glxp.api.res.inout; + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Data; + +import java.util.Date; + +@Data +public class IoOrderMutiResponse { + + private Long id; + private String orderIdFk; + private String udiCode; + private String relIdFk; + private String mark; + private Integer totalCount; + private Integer useCount; + private Integer reCount; + private Date createTime; + private Date updateTime; + private String createUser; + private String updateUser; + private String reamrk; + private String nameCode; + private String batchNo; + private String produceDate; + private String expireDate; + private String serialNo; + private String supId; + private String auditUser; + private Date auditTime; + private String cpmctymc; + private String ggxh; + private Integer status; + private String createUserName; + +} diff --git a/src/main/java/com/glxp/api/service/inout/IoOrderMutiService.java b/src/main/java/com/glxp/api/service/inout/IoOrderMutiService.java index 88d0df842..fa5654d71 100644 --- a/src/main/java/com/glxp/api/service/inout/IoOrderMutiService.java +++ b/src/main/java/com/glxp/api/service/inout/IoOrderMutiService.java @@ -2,7 +2,13 @@ package com.glxp.api.service.inout; import com.glxp.api.entity.inout.IoOrderMutiEntity; import com.baomidou.mybatisplus.extension.service.IService; +import com.glxp.api.req.inout.IoOrderMutiRequest; +import com.glxp.api.res.inout.IoOrderMutiResponse; + +import java.util.List; + public interface IoOrderMutiService extends IService{ + List filterList(IoOrderMutiRequest ioOrderMutiRequest); } diff --git a/src/main/java/com/glxp/api/service/inout/IoOrderMutiUseService.java b/src/main/java/com/glxp/api/service/inout/IoOrderMutiUseService.java index f6a00c550..f5306d6aa 100644 --- a/src/main/java/com/glxp/api/service/inout/IoOrderMutiUseService.java +++ b/src/main/java/com/glxp/api/service/inout/IoOrderMutiUseService.java @@ -5,4 +5,5 @@ import com.baomidou.mybatisplus.extension.service.IService; public interface IoOrderMutiUseService extends IService{ + } diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoOrderMutiServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoOrderMutiServiceImpl.java index 41e3b338d..53a90a7dc 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoOrderMutiServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoOrderMutiServiceImpl.java @@ -1,11 +1,35 @@ package com.glxp.api.service.inout.impl; +import com.github.pagehelper.PageHelper; +import com.glxp.api.req.inout.IoOrderMutiRequest; +import com.glxp.api.res.inout.IoOrderMutiResponse; +import com.glxp.api.res.inout.IoOrderMutiSetResponse; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.glxp.api.entity.inout.IoOrderMutiEntity; import com.glxp.api.dao.inout.IoOrderMutiMapper; import com.glxp.api.service.inout.IoOrderMutiService; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + @Service public class IoOrderMutiServiceImpl extends ServiceImpl implements IoOrderMutiService{ + @Resource + private IoOrderMutiMapper ioOrderMutiMapper; + + @Override + public List filterList(IoOrderMutiRequest ioOrderMutiRequest) { + if (ioOrderMutiRequest == null) { + return Collections.emptyList(); + } + if (ioOrderMutiRequest.getPage() != null) { + int offset = (ioOrderMutiRequest.getPage() - 1) * ioOrderMutiRequest.getLimit(); + PageHelper.offsetPage(offset, ioOrderMutiRequest.getLimit()); + } + List ioOrderMutiEntityList=ioOrderMutiMapper.filterList(ioOrderMutiRequest); + return ioOrderMutiEntityList; + } } diff --git a/src/main/java/com/glxp/api/util/GennerOrderUtils.java b/src/main/java/com/glxp/api/util/GennerOrderUtils.java index b2f884b1c..59f629183 100644 --- a/src/main/java/com/glxp/api/util/GennerOrderUtils.java +++ b/src/main/java/com/glxp/api/util/GennerOrderUtils.java @@ -253,4 +253,29 @@ public class GennerOrderUtils { return completionRandom(serialWithPrefix, orderNoTypeEnum); } + /** + * 生成多次出库记录号 + * + * @param orderNoTypeEnum + * @return + */ + public String createOrderMark(OrderNoTypeBean orderNoTypeEnum) { + //获得单号前缀 + //格式 固定前缀 +时间前缀 示例 + String formNoPrefix = getFormNoPrefix(orderNoTypeEnum); + //获得缓存key + String cacheKey = getStatCacheKey(formNoPrefix); + //获得当日自增数 + Long incrementalSerial = redisUtil.incr(cacheKey, 1); + // 设置key过期时间, 保证每天的流水号从1开始 + if (incrementalSerial == 1) { + //设置失效时间 凌晨过期 + redisUtil.expire(cacheKey, getSecondsNextEarlyMorning()); + } + //组合单号并补全流水号 + String serialWithPrefix = completionSerial(formNoPrefix, incrementalSerial, orderNoTypeEnum); + //补全随机数 + return completionRandom(serialWithPrefix, orderNoTypeEnum); + } + } diff --git a/src/main/java/com/glxp/api/util/OrderNoTypeBean.java b/src/main/java/com/glxp/api/util/OrderNoTypeBean.java index 84faf0f6b..f071b28f2 100644 --- a/src/main/java/com/glxp/api/util/OrderNoTypeBean.java +++ b/src/main/java/com/glxp/api/util/OrderNoTypeBean.java @@ -42,4 +42,13 @@ public class OrderNoTypeBean { this.randomLength = 0; this.totalLength = 5; } + + public OrderNoTypeBean(String datePattern) { + this.prefix = ""; + this.datePattern = datePattern; + this.serialLength = 3; + this.randomLength = 0; + this.totalLength = 3; + } + } diff --git a/src/main/resources/mybatis/mapper/inout/IoOrderMutiMapper.xml b/src/main/resources/mybatis/mapper/inout/IoOrderMutiMapper.xml index 14af1d94e..b4b9f4d9a 100644 --- a/src/main/resources/mybatis/mapper/inout/IoOrderMutiMapper.xml +++ b/src/main/resources/mybatis/mapper/inout/IoOrderMutiMapper.xml @@ -1,4 +1,37 @@ + + + From a6a68cb35f89aae275d560a7f731cccef7069ba6 Mon Sep 17 00:00:00 2001 From: schry <2433098676@qq.com> Date: Thu, 18 May 2023 18:13:41 +0800 Subject: [PATCH 06/20] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E4=B8=8D=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E8=AE=A1=E9=87=8F=E5=8D=95=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/glxp/api/res/inv/InvPreinProductResponse.java | 5 +++++ src/main/resources/mybatis/mapper/inv/InvPreinProductDao.xml | 1 + 2 files changed, 6 insertions(+) diff --git a/src/main/java/com/glxp/api/res/inv/InvPreinProductResponse.java b/src/main/java/com/glxp/api/res/inv/InvPreinProductResponse.java index f31c78d9c..42afb6169 100644 --- a/src/main/java/com/glxp/api/res/inv/InvPreinProductResponse.java +++ b/src/main/java/com/glxp/api/res/inv/InvPreinProductResponse.java @@ -30,6 +30,11 @@ public class InvPreinProductResponse { */ private String ggxh; + /* + * 计量单位 + * */ + private String measname; + /** * 批次号 */ diff --git a/src/main/resources/mybatis/mapper/inv/InvPreinProductDao.xml b/src/main/resources/mybatis/mapper/inv/InvPreinProductDao.xml index 0cf8dfd99..1fb50cf95 100644 --- a/src/main/resources/mybatis/mapper/inv/InvPreinProductDao.xml +++ b/src/main/resources/mybatis/mapper/inv/InvPreinProductDao.xml @@ -7,6 +7,7 @@ bp.cpmctymc, ipp.relIdFk, bp.ggxh, + bp.measname, ipp.batchNo, ipp.productionDate, ipp.expireDate, From b0d1ddda6cb620ed37cf7a120d8be23a0bbba7a3 Mon Sep 17 00:00:00 2001 From: anthonywj Date: Thu, 18 May 2023 18:22:50 +0800 Subject: [PATCH 07/20] =?UTF-8?q?=E9=87=87=E8=B4=AD=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/glxp/api/controller/purchase/PurOrderController.java | 2 +- .../com/glxp/api/res/purchase/PurOrderDetailResponse.java | 1 + src/main/resources/application-dev.yml | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/glxp/api/controller/purchase/PurOrderController.java b/src/main/java/com/glxp/api/controller/purchase/PurOrderController.java index 6b27cf2cd..374e15ac3 100644 --- a/src/main/java/com/glxp/api/controller/purchase/PurOrderController.java +++ b/src/main/java/com/glxp/api/controller/purchase/PurOrderController.java @@ -89,7 +89,7 @@ public class PurOrderController { purOrderEntity.setStatus(postPurOrderRequest.getEditStatus()); //草稿状态 if (postPurOrderRequest.getType() != null) { - String billNo = gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.SG_ORDER, "yyyyMMdd")); + String billNo = gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.CG_ORDER, "yyyyMMdd")); purOrderEntity.setBillNo(billNo); } diff --git a/src/main/java/com/glxp/api/res/purchase/PurOrderDetailResponse.java b/src/main/java/com/glxp/api/res/purchase/PurOrderDetailResponse.java index 601f18055..c15e3796e 100644 --- a/src/main/java/com/glxp/api/res/purchase/PurOrderDetailResponse.java +++ b/src/main/java/com/glxp/api/res/purchase/PurOrderDetailResponse.java @@ -17,6 +17,7 @@ public class PurOrderDetailResponse { private String productDate; private Integer count; private int reCount; + private int planCount; private Integer sweepCount; private String ylqxzcrbarmc; private String zczbhhzbapzbh; diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index b8a8be397..7e59ac974 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -4,9 +4,9 @@ server: spring: datasource: driver-class-name: com.p6spy.engine.spy.P6SpyDriver - jdbc-url: jdbc:p6spy:mysql://127.0.0.1:3306/udi_wms_0510?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true + jdbc-url: jdbc:p6spy:mysql://127.0.0.1:3306/udi_wms?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true username: root - password: root + password: 123456 hikari: connection-timeout: 60000 maximum-pool-size: 20 From ee895482015f73658b4e8c30274b9473ad784561 Mon Sep 17 00:00:00 2001 From: anthonywj Date: Fri, 19 May 2023 08:31:03 +0800 Subject: [PATCH 08/20] =?UTF-8?q?=E6=8E=92=E5=BA=8F=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/controller/inv/InvPreProductController.java | 3 +++ .../controller/inv/InvPreinProductController.java | 5 +++++ .../api/controller/inv/InvProductController.java | 3 +++ .../req/inv/FilterInvPreProductDetailRequest.java | 3 +++ .../inv/impl/InvPreProductDetailServiceImpl.java | 3 ++- .../inv/impl/InvProductDetailServiceImpl.java | 3 ++- .../java/com/glxp/api/util/page/ListPageRequest.java | 3 ++- .../mybatis/mapper/inv/InvPreInProductDetailDao.xml | 11 ++++++++++- .../mybatis/mapper/inv/InvUserProductDao.xml | 10 ++++++++++ .../mybatis/mapper/inv/invProductDetailDao.xml | 12 +++++++++++- 10 files changed, 51 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/glxp/api/controller/inv/InvPreProductController.java b/src/main/java/com/glxp/api/controller/inv/InvPreProductController.java index ab66a8ddc..9ac22485b 100644 --- a/src/main/java/com/glxp/api/controller/inv/InvPreProductController.java +++ b/src/main/java/com/glxp/api/controller/inv/InvPreProductController.java @@ -95,6 +95,9 @@ public class InvPreProductController extends BaseController { */ @GetMapping("/spms/inv/pre/product/filterDetail") public BaseResponse filterInvPreProductDetail(FilterInvPreProductDetailRequest detailRequest) { + if (!"".equals(detailRequest.getOrderBy())) { + detailRequest.setOrderBy("updateTime"); + } List invPreProductDetailEntities = invPreProductDetailService.filterPreProductDetailList(detailRequest); PageInfo pageInfo = new PageInfo<>(invPreProductDetailEntities); diff --git a/src/main/java/com/glxp/api/controller/inv/InvPreinProductController.java b/src/main/java/com/glxp/api/controller/inv/InvPreinProductController.java index 235a53390..96d89df4a 100644 --- a/src/main/java/com/glxp/api/controller/inv/InvPreinProductController.java +++ b/src/main/java/com/glxp/api/controller/inv/InvPreinProductController.java @@ -86,6 +86,11 @@ public class InvPreinProductController extends BaseController { */ @GetMapping("/spms/inv/pre/in/product/filterDetail") public BaseResponse filterInvPreProductDetail(FilterInvPreProductDetailRequest detailRequest) { + + if(!"".equals(detailRequest.getOrderBy())){ + detailRequest.setOrderBy("updateTime"); + } + List invPreProductDetailEntities = invPreinProductDetailService.filterPreProductDetailList(detailRequest); PageInfo pageInfo = new PageInfo<>(invPreProductDetailEntities); diff --git a/src/main/java/com/glxp/api/controller/inv/InvProductController.java b/src/main/java/com/glxp/api/controller/inv/InvProductController.java index 336b6ac5b..8c01df363 100644 --- a/src/main/java/com/glxp/api/controller/inv/InvProductController.java +++ b/src/main/java/com/glxp/api/controller/inv/InvProductController.java @@ -128,6 +128,9 @@ public class InvProductController extends BaseController { */ @GetMapping("/spms/inv/product/filterDetail") public BaseResponse filterInvProductDetail(FilterInvProductDetailRequest filterInvProductDetailRequest) { + if (!"".equals(filterInvProductDetailRequest.getOrderBy())) { + filterInvProductDetailRequest.setOrderBy("updateTime"); + } List invProductDetailEntities = invProductDetailService.filterInvProductDetailList(filterInvProductDetailRequest); PageInfo pageInfo = new PageInfo<>(invProductDetailEntities); diff --git a/src/main/java/com/glxp/api/req/inv/FilterInvPreProductDetailRequest.java b/src/main/java/com/glxp/api/req/inv/FilterInvPreProductDetailRequest.java index 45ccf4c84..0ed24ae94 100644 --- a/src/main/java/com/glxp/api/req/inv/FilterInvPreProductDetailRequest.java +++ b/src/main/java/com/glxp/api/req/inv/FilterInvPreProductDetailRequest.java @@ -76,4 +76,7 @@ public class FilterInvPreProductDetailRequest extends ListPageRequest { */ private String updateTime; + + + } diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvPreProductDetailServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvPreProductDetailServiceImpl.java index f3bde48a8..dc27258a1 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvPreProductDetailServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvPreProductDetailServiceImpl.java @@ -147,7 +147,8 @@ public class InvPreProductDetailServiceImpl implements InvPreProductDetailServic //设置单据类型名称 BasicBussinessTypeEntity busType = bussinessTypeDao.selectOne(new QueryWrapper().select("name").eq("action", response.getAction())); - response.setActionName(busType.getName()); + if (busType != null) + response.setActionName(busType.getName()); //设置单据日期 IoOrderEntity order = orderDao.selectOne(new QueryWrapper().select("createTime").eq("billNo", response.getOrderId())); if (order != null) diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvProductDetailServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvProductDetailServiceImpl.java index 9c5fc31ea..696bb6636 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvProductDetailServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvProductDetailServiceImpl.java @@ -161,7 +161,8 @@ public class InvProductDetailServiceImpl implements InvProductDetailService { //设置单据类型名称 BasicBussinessTypeEntity busType = bussinessTypeDao.selectOne(new QueryWrapper().select("name").eq("action", response.getAction())); - response.setActionName(busType.getName()); + if (busType != null) + response.setActionName(busType.getName()); //设置单据日期 IoOrderEntity order = orderDao.selectOne(new QueryWrapper().select("createTime").eq("billNo", response.getOrderId())); if (order != null) diff --git a/src/main/java/com/glxp/api/util/page/ListPageRequest.java b/src/main/java/com/glxp/api/util/page/ListPageRequest.java index 75f1f39d0..1a8ed21ec 100644 --- a/src/main/java/com/glxp/api/util/page/ListPageRequest.java +++ b/src/main/java/com/glxp/api/util/page/ListPageRequest.java @@ -19,5 +19,6 @@ public class ListPageRequest { @Min(value = 1, message = "分页参数不能小于1") @Max(value = 500, message = "分页参数不能大于500") private Integer limit; - + private String orderBy; + private String sort; } diff --git a/src/main/resources/mybatis/mapper/inv/InvPreInProductDetailDao.xml b/src/main/resources/mybatis/mapper/inv/InvPreInProductDetailDao.xml index b0dc8be5a..b45bb795e 100644 --- a/src/main/resources/mybatis/mapper/inv/InvPreInProductDetailDao.xml +++ b/src/main/resources/mybatis/mapper/inv/InvPreInProductDetailDao.xml @@ -51,6 +51,15 @@ AND updateTime #{updateTime} + + + + order by ${orderBy} ${sort} + + + ORDER BY updateTime DESC + + diff --git a/src/main/resources/mybatis/mapper/inv/invProductDetailDao.xml b/src/main/resources/mybatis/mapper/inv/invProductDetailDao.xml index 66ac6e94d..4d148b32a 100644 --- a/src/main/resources/mybatis/mapper/inv/invProductDetailDao.xml +++ b/src/main/resources/mybatis/mapper/inv/invProductDetailDao.xml @@ -25,7 +25,7 @@ ipp.deptCode, ipp.invCode, ipp.invSpaceCode, - ipp.code as code + ipp.code as code from inv_product_detail ipp inner join basic_udirel on ipp.relId = basic_udirel.id inner join basic_products bp on basic_udirel.uuid = bp.uuid @@ -142,6 +142,16 @@ AND updateTime #{updateTime} + + + + + order by ${orderBy} ${sort} + + + ORDER BY updateTime DESC + + From 3a26eafb7d6a51ec11156e80de277b041428fefe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E6=98=8E=E6=A2=81?= <2429105222@qq.com> Date: Fri, 19 May 2023 17:44:57 +0800 Subject: [PATCH 09/20] =?UTF-8?q?=E5=A4=9A=E6=AC=A1=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E5=87=BA=E5=BA=93=E6=96=B0=E5=A2=9E=E5=8A=9F=E8=83=BD=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/glxp/api/constant/ConstantStatus.java | 1 + .../inout/IoOrderMutiController.java | 172 +++++++++++++++--- .../com/glxp/api/dao/basic/UdiProductDao.java | 2 + .../entity/inout/IoOrderMutiSetEntity.java | 4 + .../api/req/inout/IoOrderMutiRequest.java | 2 + .../api/req/inout/IoOrderMutiSetRequest.java | 1 + .../api/res/inout/IoOrderMutiResponse.java | 1 + .../api/res/inout/IoOrderMutiSetResponse.java | 1 + .../api/service/basic/UdiProductService.java | 2 + .../basic/impl/UdiProductServiceImpl.java | 5 + .../mybatis/mapper/basic/UdiProductDao.xml | 11 ++ .../mapper/inout/IoOrderMutiMapper.xml | 10 +- .../mapper/inout/IoOrderMutiSetMapper.xml | 2 +- 13 files changed, 188 insertions(+), 26 deletions(-) diff --git a/src/main/java/com/glxp/api/constant/ConstantStatus.java b/src/main/java/com/glxp/api/constant/ConstantStatus.java index a45631d1a..dacbcb24e 100644 --- a/src/main/java/com/glxp/api/constant/ConstantStatus.java +++ b/src/main/java/com/glxp/api/constant/ConstantStatus.java @@ -214,6 +214,7 @@ public class ConstantStatus { public static final int FROM_THRORDER = 14; //第三方单据转单 public static final int FROM_Order = 15; //采购计划转单 public static final int FROM_BACK = 17; //出库转退货单; + public static final int FROM_Muti = 18; //多次出入库单; //DI类型 diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderMutiController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderMutiController.java index d45923d23..6c3588d21 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderMutiController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderMutiController.java @@ -7,18 +7,22 @@ import com.github.pagehelper.PageInfo; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.constant.Constant; +import com.glxp.api.constant.ConstantStatus; +import com.glxp.api.constant.ConstantType; +import com.glxp.api.entity.auth.AuthAdmin; +import com.glxp.api.entity.auth.InvWarehouseEntity; +import com.glxp.api.entity.basic.BasicBussinessTypeEntity; import com.glxp.api.entity.basic.UdiEntity; import com.glxp.api.entity.basic.UdiProductEntity; -import com.glxp.api.entity.inout.IoOrderMutiEntity; -import com.glxp.api.entity.inout.IoOrderMutiSetEntity; -import com.glxp.api.entity.inout.IoOrderMutiUseEntity; +import com.glxp.api.entity.inout.*; import com.glxp.api.req.inout.IoOrderMutiRequest; import com.glxp.api.res.inout.IoOrderMutiResponse; import com.glxp.api.res.inout.IoOrderMutiSetResponse; import com.glxp.api.service.auth.CustomerService; +import com.glxp.api.service.auth.InvWarehouseService; +import com.glxp.api.service.basic.IBasicBussinessTypeService; import com.glxp.api.service.basic.UdiProductService; -import com.glxp.api.service.inout.IoOrderMutiService; -import com.glxp.api.service.inout.IoOrderMutiUseService; +import com.glxp.api.service.inout.*; import com.glxp.api.util.GennerOrderUtils; import com.glxp.api.util.OrderNoTypeBean; import com.glxp.api.util.RedisUtil; @@ -31,10 +35,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.lang.reflect.InvocationTargetException; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; @RestController public class IoOrderMutiController { @@ -46,11 +47,21 @@ public class IoOrderMutiController { @Resource private IoOrderMutiUseService ioOrderMutiUseService; @Resource + private IoOrderMutiSetService ioOrderMutiSetService; + @Resource RedisUtil redisUtil; @Resource CustomerService customerService; @Resource GennerOrderUtils gennerOrderUtils; + @Resource + private IoOrderService orderService; + @Resource + IoCodeTempService codeTempService; + @Resource + IBasicBussinessTypeService basicBussinessTypeService; + @Resource + InvWarehouseService invWarehouseService; @PostMapping("/udiwms/inout/order/muti/checkUdi") @@ -72,13 +83,15 @@ public class IoOrderMutiController { return ResultVOUtils.success(ioOrderMutiEntityOne.getId()); } else { //查询物资信息 - UdiProductEntity udiProductEntity = udiProductService.findByNameCode(udiEntity.getUdi()); + UdiProductEntity udiProductEntity = udiProductService.selectUdiByName(udiEntity.getUdi()); ioOrderMutiEntityOne = new IoOrderMutiEntity(); ioOrderMutiEntityOne.setId(IdUtil.getSnowflakeNextId()); + ioOrderMutiEntityOne.setRelIdFk(udiProductEntity.getRelId()); + ioOrderMutiEntityOne.setMark(ioOrderMutiEntity.getMark()); ioOrderMutiEntityOne.setUdiCode(ioOrderMutiEntity.getUdiCode()); - ioOrderMutiEntityOne.setBatchNo(udiProductEntity.getBatchNo()); - ioOrderMutiEntityOne.setExpireDate(udiProductEntity.getExpireDate()); - ioOrderMutiEntityOne.setProduceDate(udiProductEntity.getProduceDate()); + ioOrderMutiEntityOne.setBatchNo(udiEntity.getBatchNo()); + ioOrderMutiEntityOne.setExpireDate(udiEntity.getExpireDate()); + ioOrderMutiEntityOne.setProduceDate(udiEntity.getProduceDate()); ioOrderMutiEntityOne.setTotalCount(20); ioOrderMutiEntityOne.setStatus(0); ioOrderMutiEntityOne.setCreateUser(customerService.getUserId() + ""); @@ -87,7 +100,7 @@ public class IoOrderMutiController { ioOrderMutiEntityOne.setCreateTime(new Date()); ioOrderMutiEntityOne.setUpdateTime(new Date()); ioOrderMutiEntityOne.setNameCode(udiProductEntity.getNameCode()); - ioOrderMutiEntityOne.setSerialNo(udiProductEntity.getSerialNo()); + ioOrderMutiEntityOne.setSerialNo(udiEntity.getSerialNo()); ioOrderMutiEntityOne.setSupId(udiProductEntity.getSupId()); ioOrderMutiService.save(ioOrderMutiEntityOne); return ResultVOUtils.success(ioOrderMutiEntityOne.getId()); @@ -129,14 +142,16 @@ public class IoOrderMutiController { if (StrUtil.isNotBlank(ioOrderMutiEntity.getUdiCode())) { UdiEntity udiEntity = FilterUdiUtils.getUdi(ioOrderMutiEntity.getUdiCode()); //查询物资信息 - UdiProductEntity udiProductEntity = udiProductService.findByNameCode(udiEntity.getUdi()); + UdiProductEntity udiProductEntity = udiProductService.selectUdiByName(udiEntity.getUdi()); IoOrderMutiEntity ioOrderMutiEntity1 = new IoOrderMutiEntity(); ioOrderMutiEntity1.setId(IdUtil.getSnowflakeNextId()); + ioOrderMutiEntity1.setRelIdFk(udiProductEntity.getRelId()); + ioOrderMutiEntity1.setMark(ioOrderMutiEntity.getMark()); ioOrderMutiEntity1.setUdiCode(ioOrderMutiEntity.getUdiCode()); - ioOrderMutiEntity1.setBatchNo(udiProductEntity.getBatchNo()); - ioOrderMutiEntity1.setExpireDate(udiProductEntity.getExpireDate()); - ioOrderMutiEntity1.setProduceDate(udiProductEntity.getProduceDate()); + ioOrderMutiEntity1.setBatchNo(udiEntity.getBatchNo()); + ioOrderMutiEntity1.setExpireDate(udiEntity.getExpireDate()); + ioOrderMutiEntity1.setProduceDate(udiEntity.getProduceDate()); ioOrderMutiEntity1.setTotalCount(20); ioOrderMutiEntity1.setStatus(0); ioOrderMutiEntity1.setUseCount(0); @@ -145,7 +160,7 @@ public class IoOrderMutiController { ioOrderMutiEntity1.setCreateTime(new Date()); ioOrderMutiEntity1.setUpdateTime(new Date()); ioOrderMutiEntity1.setNameCode(udiProductEntity.getNameCode()); - ioOrderMutiEntity1.setSerialNo(udiProductEntity.getSerialNo()); + ioOrderMutiEntity1.setSerialNo(udiEntity.getSerialNo()); ioOrderMutiEntity1.setSupId(udiProductEntity.getSupId()); ioOrderMutiService.save(ioOrderMutiEntity1); return ResultVOUtils.success(ioOrderMutiEntity1.getId()); @@ -156,7 +171,75 @@ public class IoOrderMutiController { @PostMapping("/udiwms/inout/order/muti/updateOrderMuti") public BaseResponse updateOrderMuti(@RequestBody IoOrderMutiEntity ioOrderMutiEntity) { + + String orderNo =ioOrderMutiEntity.getOrderIdFk(); + //如果是第一次的话就插入 + String mark=ioOrderMutiEntity.getMark(); + int totalCount=ioOrderMutiEntity.getTotalCount(); + int useCount=ioOrderMutiEntity.getUseCount(); + int status=ioOrderMutiEntity.getStatus(); + ioOrderMutiEntity= ioOrderMutiService.getById(ioOrderMutiEntity.getId()); + ioOrderMutiEntity.setMark(mark); + ioOrderMutiEntity.setTotalCount(totalCount); + ioOrderMutiEntity.setUseCount(useCount); + ioOrderMutiEntity.setStatus(status); + if (StrUtil.isBlank(ioOrderMutiEntity.getOrderIdFk())) { + IoOrderEntity orderEntity = new IoOrderEntity(); + //查询补单条件 + AuthAdmin authAdmin = customerService.getUserBean(); + QueryWrapper setEw = new QueryWrapper<>(); + setEw.eq("curInv", authAdmin.getLocInvCode()); + IoOrderMutiSetEntity ioOrderMutiSetEntity = ioOrderMutiSetService.getOne(setEw); + if (ioOrderMutiSetEntity == null) { + return ResultVOUtils.error(999, "请设置补单条件!"); + } + BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(ioOrderMutiSetEntity.getTargetAction()); + InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode(ioOrderMutiSetEntity.getCurInv()); + orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + StrUtil.trimToEmpty(bussinessTypeEntity.getPrefix()), "yyyyMMdd")); + orderEntity.setBillNo(orderNo); + orderEntity.setMainAction(ConstantType.TYPE_OUT); + orderEntity.setCreateUser(authAdmin.getId() + ""); + orderEntity.setCreateTime(new Date()); + orderEntity.setUpdateUser(authAdmin.getId() + ""); + orderEntity.setUpdateTime(new Date()); + orderEntity.setCustomerId(authAdmin.getCustomerId() + ""); + orderEntity.setFromCorp(ioOrderMutiSetEntity.getFromCorp()); + orderEntity.setAction(bussinessTypeEntity.getAction()); + orderEntity.setMainAction(bussinessTypeEntity.getMainAction()); + orderEntity.setDeptCode(invWarehouseEntity.getParentId()); + orderEntity.setInvCode(invWarehouseEntity.getCode()); + orderEntity.setStatus(ConstantStatus.ORDER_STATUS_TEMP_SAVE); + orderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_DRAFT); + orderEntity.setFromType(ConstantStatus.FROM_Muti); + orderEntity.setOrderType(ConstantStatus.ORDER_TYPE_NORMAL); + orderEntity.setBusType(bussinessTypeEntity.getBusType()); + //插入单据 + orderService.insertOrder(orderEntity); + + IoCodeTempEntity ioCodeTempEntity = new IoCodeTempEntity(); + ioCodeTempEntity.setCode(ioOrderMutiEntity.getUdiCode()); + ioCodeTempEntity.setMainAction(ConstantType.TYPE_OUT); + ioCodeTempEntity.setAction(bussinessTypeEntity.getAction()); + ioCodeTempEntity.setOrderId(orderNo); + ioCodeTempEntity.setNameCode(ioOrderMutiEntity.getNameCode()); + ioCodeTempEntity.setBatchNo(ioOrderMutiEntity.getBatchNo()); + ioCodeTempEntity.setProduceDate(ioOrderMutiEntity.getProduceDate()); + ioCodeTempEntity.setExpireDate(ioOrderMutiEntity.getExpireDate()); + ioCodeTempEntity.setSerialNo(ioOrderMutiEntity.getSerialNo()); + ioCodeTempEntity.setSupId(ioOrderMutiEntity.getSupId()); + ioCodeTempEntity.setRelId(Long.valueOf(ioOrderMutiEntity.getRelIdFk())); + ioCodeTempEntity.setCount(ioOrderMutiEntity.getTotalCount()); + ioCodeTempEntity.setReCount(ioOrderMutiEntity.getTotalCount() - ioOrderMutiEntity.getUseCount()); + ioCodeTempEntity.setCreateTime(new Date()); + ioCodeTempEntity.setUpdateTime(new Date()); + ioCodeTempEntity.setDeptCode(invWarehouseEntity.getParentId()); + ioCodeTempEntity.setInvCode(invWarehouseEntity.getCode()); + codeTempService.insert(ioCodeTempEntity); + } + + ioOrderMutiEntity.setReCount(ioOrderMutiEntity.getTotalCount() - ioOrderMutiEntity.getUseCount()); + ioOrderMutiEntity.setOrderIdFk(orderNo); ioOrderMutiEntity.setCreateTime(new Date()); ioOrderMutiEntity.setCreateUser(customerService.getUserId() + ""); ioOrderMutiEntity.setUpdateTime(new Date()); @@ -183,6 +266,18 @@ public class IoOrderMutiController { @PostMapping("/udiwms/inout/order/muti/filterMutiDetailList") public BaseResponse filterMutiDetailList(@RequestBody IoOrderMutiRequest ioOrderMutiRequest) { + //判断是不是个人使用 + AuthAdmin authAdmin = customerService.getUserBean(); + QueryWrapper setEw=new QueryWrapper<>(); + setEw.eq("curInv",authAdmin.getLocInvCode()); + IoOrderMutiSetEntity ioOrderMutiSetEntity=ioOrderMutiSetService.getOne(setEw); + if(ioOrderMutiSetEntity!=null){ + if(ioOrderMutiSetEntity.getCheckUse()==1){ + ioOrderMutiRequest.setCreateUser(authAdmin.getId()+""); + } + }else{ + return ResultVOUtils.error(999,"请先设置多次出库单据类型!"); + } ioOrderMutiRequest.setStatus(0); List ioOrderMutiEntityList = ioOrderMutiService.filterList(ioOrderMutiRequest); return ResultVOUtils.success(ioOrderMutiEntityList); @@ -209,6 +304,25 @@ public class IoOrderMutiController { @PostMapping("/udiwms/inout/order/muti/addMutiDetail") public BaseResponse addMutiDetail(@RequestBody IoOrderMutiUseEntity ioOrderMutiUseEntity) { + + //判断是不是个人使用 + AuthAdmin authAdmin = customerService.getUserBean(); + QueryWrapper setEw=new QueryWrapper<>(); + setEw.eq("curInv",authAdmin.getLocInvCode()); + IoOrderMutiSetEntity ioOrderMutiSetEntity=ioOrderMutiSetService.getOne(setEw); + if(ioOrderMutiSetEntity!=null){ + if(ioOrderMutiSetEntity.getCheckUse()==1){ + IoOrderMutiEntity ioOrderMutiEntity=ioOrderMutiService.getById(ioOrderMutiUseEntity.getMutiIdFk()); + if(!ioOrderMutiEntity.getCreateUser().equals(authAdmin.getId()+"")){ + return ResultVOUtils.error(999,"该单设置了个人使用,添加失败!"); + } + } + }else{ + return ResultVOUtils.error(999,"请先设置多次出库单据类型!"); + } + + + int sum = 0; QueryWrapper ew = new QueryWrapper<>(); ew.eq("mutiIdFk", ioOrderMutiUseEntity.getMutiIdFk()); @@ -245,11 +359,21 @@ public class IoOrderMutiController { @PostMapping("/udiwms/inout/order/muti/delectMuti") public BaseResponse delectMuti(@RequestBody IoOrderMutiEntity ioOrderMutiEntity) { - Boolean falg=ioOrderMutiService.removeById(ioOrderMutiEntity); - if(falg){ - return ResultVOUtils.success(); - }else{ - return ResultVOUtils.error(999,"删除失败"); + Boolean falg = ioOrderMutiService.removeById(ioOrderMutiEntity); + if (falg) { + return ResultVOUtils.success(); + } else { + return ResultVOUtils.error(999, "删除失败"); } } + + @PostMapping("/udiwms/inout/order/muti/auditMuti") + public BaseResponse auditMuti(@RequestBody IoOrderMutiEntity ioOrderMutiEntity) { + ioOrderMutiEntity.setUpdateTime(new Date()); + ioOrderMutiEntity.setUpdateUser(customerService.getUserId()+""); + ioOrderMutiEntity.setAuditTime(new Date()); + ioOrderMutiEntity.setAuditUser(customerService.getUserId()+""); + ioOrderMutiService.updateById(ioOrderMutiEntity); + return ResultVOUtils.success(); + } } diff --git a/src/main/java/com/glxp/api/dao/basic/UdiProductDao.java b/src/main/java/com/glxp/api/dao/basic/UdiProductDao.java index cca4b942c..08c62e1c1 100644 --- a/src/main/java/com/glxp/api/dao/basic/UdiProductDao.java +++ b/src/main/java/com/glxp/api/dao/basic/UdiProductDao.java @@ -84,4 +84,6 @@ public interface UdiProductDao { * @return */ UdiProductEntity selectAllowNoBatch(@Param("nameCode") String nameCode); + + UdiProductEntity selectUdiByName(@Param("nameCode") String nameCode); } diff --git a/src/main/java/com/glxp/api/entity/inout/IoOrderMutiSetEntity.java b/src/main/java/com/glxp/api/entity/inout/IoOrderMutiSetEntity.java index b7104aca4..d11443c4e 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoOrderMutiSetEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoOrderMutiSetEntity.java @@ -27,4 +27,8 @@ public class IoOrderMutiSetEntity { @TableField(value = "updateTime") private Date updateTime; + + @TableField(value = "checkUse") + private Integer checkUse; + } diff --git a/src/main/java/com/glxp/api/req/inout/IoOrderMutiRequest.java b/src/main/java/com/glxp/api/req/inout/IoOrderMutiRequest.java index f88c66b11..a69e49c95 100644 --- a/src/main/java/com/glxp/api/req/inout/IoOrderMutiRequest.java +++ b/src/main/java/com/glxp/api/req/inout/IoOrderMutiRequest.java @@ -33,5 +33,7 @@ public class IoOrderMutiRequest extends ListPageRequest { private String ggxh; private Integer status; private String createUserName; + private String startDate; + private String endDate; } diff --git a/src/main/java/com/glxp/api/req/inout/IoOrderMutiSetRequest.java b/src/main/java/com/glxp/api/req/inout/IoOrderMutiSetRequest.java index 80fc65e19..e1958c738 100644 --- a/src/main/java/com/glxp/api/req/inout/IoOrderMutiSetRequest.java +++ b/src/main/java/com/glxp/api/req/inout/IoOrderMutiSetRequest.java @@ -17,5 +17,6 @@ public class IoOrderMutiSetRequest extends ListPageRequest { private String invName; private String fromCorpName; private String targetActionName; + private Integer checkUse; } diff --git a/src/main/java/com/glxp/api/res/inout/IoOrderMutiResponse.java b/src/main/java/com/glxp/api/res/inout/IoOrderMutiResponse.java index c312a9810..5e7d14e0f 100644 --- a/src/main/java/com/glxp/api/res/inout/IoOrderMutiResponse.java +++ b/src/main/java/com/glxp/api/res/inout/IoOrderMutiResponse.java @@ -36,5 +36,6 @@ public class IoOrderMutiResponse { private String ggxh; private Integer status; private String createUserName; + private String auditUserName; } diff --git a/src/main/java/com/glxp/api/res/inout/IoOrderMutiSetResponse.java b/src/main/java/com/glxp/api/res/inout/IoOrderMutiSetResponse.java index a10d4c36d..23edc10ee 100644 --- a/src/main/java/com/glxp/api/res/inout/IoOrderMutiSetResponse.java +++ b/src/main/java/com/glxp/api/res/inout/IoOrderMutiSetResponse.java @@ -16,5 +16,6 @@ public class IoOrderMutiSetResponse { private String invName; private String fromCorpName; private String targetActionName; + private Integer checkUse; } diff --git a/src/main/java/com/glxp/api/service/basic/UdiProductService.java b/src/main/java/com/glxp/api/service/basic/UdiProductService.java index ee4ecdc9c..e3095aa1f 100644 --- a/src/main/java/com/glxp/api/service/basic/UdiProductService.java +++ b/src/main/java/com/glxp/api/service/basic/UdiProductService.java @@ -60,4 +60,6 @@ public interface UdiProductService { * @return */ UdiProductEntity getAllowNoBatch(String nameCode); + + UdiProductEntity selectUdiByName(String nameCode); } diff --git a/src/main/java/com/glxp/api/service/basic/impl/UdiProductServiceImpl.java b/src/main/java/com/glxp/api/service/basic/impl/UdiProductServiceImpl.java index f33734304..193faa18f 100644 --- a/src/main/java/com/glxp/api/service/basic/impl/UdiProductServiceImpl.java +++ b/src/main/java/com/glxp/api/service/basic/impl/UdiProductServiceImpl.java @@ -155,4 +155,9 @@ public class UdiProductServiceImpl implements UdiProductService { String di = FilterUdiUtils.getDiStr(nameCode); return udiProductDao.selectAllowNoBatch(di); } + + @Override + public UdiProductEntity selectUdiByName(String nameCode) { + return udiProductDao.selectUdiByName(nameCode); + } } diff --git a/src/main/resources/mybatis/mapper/basic/UdiProductDao.xml b/src/main/resources/mybatis/mapper/basic/UdiProductDao.xml index 1b8aa14f5..27cf7ff02 100644 --- a/src/main/resources/mybatis/mapper/basic/UdiProductDao.xml +++ b/src/main/resources/mybatis/mapper/basic/UdiProductDao.xml @@ -961,4 +961,15 @@ where nameCode = #{nameCode} limit 1 + + diff --git a/src/main/resources/mybatis/mapper/inout/IoOrderMutiMapper.xml b/src/main/resources/mybatis/mapper/inout/IoOrderMutiMapper.xml index b4b9f4d9a..9b38cc006 100644 --- a/src/main/resources/mybatis/mapper/inout/IoOrderMutiMapper.xml +++ b/src/main/resources/mybatis/mapper/inout/IoOrderMutiMapper.xml @@ -8,7 +8,8 @@ io.*, b1.ggxh, b1.cpmctymc, - (SELECT userName FROM auth_user WHERE auth_user.id=io.createUser) as createUserName + (SELECT userName FROM auth_user WHERE auth_user.id=io.createUser) as createUserName, + (SELECT userName FROM auth_user WHERE auth_user.id=io.auditUser) as auditUserName FROM io_order_muti io LEFT JOIN basic_products b1 on b1.nameCode=io.nameCode @@ -31,6 +32,13 @@ and io.status = #{status} + + and io.createUser = #{createUser} + + + AND date_format(io.createTime, '%Y-%m-%d') between date_format(#{startDate}, + '%Y-%m-%d') and date_format(#{endDate}, '%Y-%m-%d') + diff --git a/src/main/resources/mybatis/mapper/inout/IoOrderMutiSetMapper.xml b/src/main/resources/mybatis/mapper/inout/IoOrderMutiSetMapper.xml index cc9a5310a..10c90f233 100644 --- a/src/main/resources/mybatis/mapper/inout/IoOrderMutiSetMapper.xml +++ b/src/main/resources/mybatis/mapper/inout/IoOrderMutiSetMapper.xml @@ -5,7 +5,7 @@ resultType="com.glxp.api.res.inout.IoOrderMutiSetResponse"> SELECT io.*, (SELECT NAME FROM auth_warehouse aw WHERE aw.CODE = io.curInv) invName, - a1.name fromCorpName, + (SELECT NAME FROM basic_corp bc WHERE bc.erpId = io.fromCorp) fromCorpName, (SELECT NAME FROM basic_bussiness_type bus WHERE bus.action = io.targetAction) targetActionName FROM io_order_muti_set io left join auth_warehouse a1 on a1.code=io.curInv From 7bbd253d1a873453a3fa0de7df77eccf7b929c8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E6=98=8E=E6=A2=81?= <2429105222@qq.com> Date: Mon, 22 May 2023 09:30:02 +0800 Subject: [PATCH 10/20] =?UTF-8?q?=E5=A4=9A=E6=AC=A1=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E5=87=BA=E5=BA=93=E6=96=B0=E5=A2=9E=E5=8A=9F=E8=83=BD=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/mybatis/mapper/inout/IoOrderMutiMapper.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/resources/mybatis/mapper/inout/IoOrderMutiMapper.xml b/src/main/resources/mybatis/mapper/inout/IoOrderMutiMapper.xml index 9b38cc006..2f4a5e503 100644 --- a/src/main/resources/mybatis/mapper/inout/IoOrderMutiMapper.xml +++ b/src/main/resources/mybatis/mapper/inout/IoOrderMutiMapper.xml @@ -20,6 +20,9 @@ and io.mark = #{mark} + + and io.orderIdFk = #{orderIdFk} + and io.nameCode = #{nameCode} From 9f1f491db3ff035642b54a4e4c7deefa80251362 Mon Sep 17 00:00:00 2001 From: 1178634255 <1178634255@qq.com> Date: Mon, 22 May 2023 09:35:10 +0800 Subject: [PATCH 11/20] =?UTF-8?q?=20=E4=BF=AE=E5=A4=8D=E5=85=A5=E8=B4=A6?= =?UTF-8?q?=E5=BA=93=E6=9F=A5=E8=AF=A2=E5=88=97=E8=A1=A8=E4=B8=8D=E4=BC=9A?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E2=80=98=E8=AE=A1=E9=87=8F=E5=8D=95=E4=BD=8D?= =?UTF-8?q?=E2=80=99,=E7=94=9F=E4=BA=A7=E4=BC=81=E4=B8=9A=E4=B8=8E?= =?UTF-8?q?=E5=8D=95=E6=8D=AE=E7=B1=BB=E5=9E=8B=E7=9A=84=E4=B8=8D=E4=B8=80?= =?UTF-8?q?=E8=87=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/controller/basic/BasicBussinessTypeController.java | 2 -- .../com/glxp/api/controller/inout/IoOrderController.java | 4 ---- .../glxp/api/controller/inv/InvPlaceOrderController.java | 1 + .../glxp/api/controller/purchase/IoPurChangeService.java | 2 -- src/main/java/com/glxp/api/res/inv/InvProductResponse.java | 6 ++++++ .../resources/mybatis/mapper/inv/invProductDetailDao.xml | 1 + 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/glxp/api/controller/basic/BasicBussinessTypeController.java b/src/main/java/com/glxp/api/controller/basic/BasicBussinessTypeController.java index 095b6be47..324bd4fac 100644 --- a/src/main/java/com/glxp/api/controller/basic/BasicBussinessTypeController.java +++ b/src/main/java/com/glxp/api/controller/basic/BasicBussinessTypeController.java @@ -178,8 +178,6 @@ public class BasicBussinessTypeController extends BaseController { @GetMapping("/udiwms/localBusType/filterJoinByUser") public BaseResponse filterJoinByUser(FilterBussinessTypeRequest bussinessTypeFilterRequest, BindingResult bindingResult) { - - if (StrUtil.isNotEmpty(bussinessTypeFilterRequest.getVueType())) { List result = new ArrayList<>(); List bussinessTypeEntities = basicBussinessTypeService.findByVueType(bussinessTypeFilterRequest.getVueType()); diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java index af7f52692..7eb29275f 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java @@ -81,19 +81,15 @@ public class IoOrderController extends BaseController { @AuthRuleAnnotation("") @GetMapping("/udiwms/inout/order/filter") public BaseResponse filterOrder(FilterOrderRequest filterOrderRequest) { - - if (StrUtil.isNotBlank(filterOrderRequest.getStatusType())) { orderService.setFilterStatus(filterOrderRequest); } if (StrUtil.isNotBlank(filterOrderRequest.getVueType())) { orderService.setActions(filterOrderRequest); } - if (StrUtil.isNotEmpty(filterOrderRequest.getSupInoivceSearch())) { orderService.setInvoiceFiltes(filterOrderRequest); } - if (filterOrderRequest.getSourceLocalType() != null) { if (filterOrderRequest.getSourceLocalType() == 1) { filterOrderRequest.setSourceTypes(Arrays.asList(1, 2, 3, 4, 5)); diff --git a/src/main/java/com/glxp/api/controller/inv/InvPlaceOrderController.java b/src/main/java/com/glxp/api/controller/inv/InvPlaceOrderController.java index d2c232f86..d982dc371 100644 --- a/src/main/java/com/glxp/api/controller/inv/InvPlaceOrderController.java +++ b/src/main/java/com/glxp/api/controller/inv/InvPlaceOrderController.java @@ -25,6 +25,7 @@ public class InvPlaceOrderController { public BaseResponse filterList(FilterInvPlaceOrderRequest filterInvPlaceOrderRequest) { List list = invPlaceOrderService.filterList(filterInvPlaceOrderRequest); PageInfo pageInfo = new PageInfo<>(list); + System.out.println("6666666666666666"); return ResultVOUtils.page(pageInfo); } diff --git a/src/main/java/com/glxp/api/controller/purchase/IoPurChangeService.java b/src/main/java/com/glxp/api/controller/purchase/IoPurChangeService.java index a3f02c130..5cc28ba87 100644 --- a/src/main/java/com/glxp/api/controller/purchase/IoPurChangeService.java +++ b/src/main/java/com/glxp/api/controller/purchase/IoPurChangeService.java @@ -149,7 +149,6 @@ public class IoPurChangeService { //插入计划主表 purPlanService.insert(purPlanEntity); //用stream流复制list - System.out.println("111111111111111111111111111我要进来咯666666666666666++++++++++++++++"); purPlanDetailEntityList = purApplyDetailEntityList.stream().map(e -> { PurPlanDetailEntity d = new PurPlanDetailEntity(); d.setOrderIdFk(purPlanEntity.getId() + ""); @@ -158,7 +157,6 @@ public class IoPurChangeService { d.setCount(e.getCount()); d.setSupId(e.getSupId()); d.setZczbhhzbapzbh(e.getZczbhhzbapzbh()); - System.out.println("ddddddddddddddddddddddddddddddd"+d); return d; }).collect(Collectors.toList()); purPlanDetailService.insertPurPlanDetailEntity(purPlanDetailEntityList); diff --git a/src/main/java/com/glxp/api/res/inv/InvProductResponse.java b/src/main/java/com/glxp/api/res/inv/InvProductResponse.java index 998be5103..96e180724 100644 --- a/src/main/java/com/glxp/api/res/inv/InvProductResponse.java +++ b/src/main/java/com/glxp/api/res/inv/InvProductResponse.java @@ -113,4 +113,10 @@ public class InvProductResponse { private String code; + + /* + * 计量单位 + * */ + private String measname; + } diff --git a/src/main/resources/mybatis/mapper/inv/invProductDetailDao.xml b/src/main/resources/mybatis/mapper/inv/invProductDetailDao.xml index 4d148b32a..8c2e9238a 100644 --- a/src/main/resources/mybatis/mapper/inv/invProductDetailDao.xml +++ b/src/main/resources/mybatis/mapper/inv/invProductDetailDao.xml @@ -9,6 +9,7 @@ bp.cpmctymc, ipp.relId, bp.ggxh, + bp.measname, ipp.batchNo, ipp.produceDate, ipp.expireDate, From 68782d1619d409a73e22b2bf4dc61f74f04299b5 Mon Sep 17 00:00:00 2001 From: schry <2433098676@qq.com> Date: Mon, 22 May 2023 10:19:17 +0800 Subject: [PATCH 12/20] =?UTF-8?q?=E4=B8=9A=E5=8A=A1=E5=8D=95=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E8=A1=A5=E5=8D=95=E7=9A=84=E5=8D=95=E6=8D=AE=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E5=90=8D=E7=A7=B0=E4=B8=8D=E6=94=AF=E6=8C=81=E6=A8=A1?= =?UTF-8?q?=E7=B3=8A=E6=9F=A5=E8=AF=A2=20230519?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/mybatis/mapper/basic/BasicBusTypeChangeDao.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/mybatis/mapper/basic/BasicBusTypeChangeDao.xml b/src/main/resources/mybatis/mapper/basic/BasicBusTypeChangeDao.xml index 9560b4eac..e05944526 100644 --- a/src/main/resources/mybatis/mapper/basic/BasicBusTypeChangeDao.xml +++ b/src/main/resources/mybatis/mapper/basic/BasicBusTypeChangeDao.xml @@ -12,7 +12,7 @@ AND bc.originAction = #{originAction} - AND bc.originName = #{originName} + AND bc.originName like concat('%', #{originName}, '%') AND bc.type = #{type} From d0a507981f771afb68eeee1e94e82c1970d1c65d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E6=98=8E=E6=A2=81?= <2429105222@qq.com> Date: Mon, 22 May 2023 14:20:05 +0800 Subject: [PATCH 13/20] =?UTF-8?q?=E7=89=A9=E8=B5=84=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E5=A4=9A=E6=AC=A1=E5=87=BA=E5=BA=93=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/glxp/api/entity/basic/UdiRelevanceEntity.java | 2 ++ src/main/java/com/glxp/api/req/basic/UdiRelevanceRequest.java | 2 +- .../java/com/glxp/api/req/basic/UdiRelevanceSaveRequest.java | 2 +- src/main/java/com/glxp/api/res/basic/UdiRelevanceResponse.java | 2 +- src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml | 3 +++ 5 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/glxp/api/entity/basic/UdiRelevanceEntity.java b/src/main/java/com/glxp/api/entity/basic/UdiRelevanceEntity.java index 371b2e711..d365a80b9 100644 --- a/src/main/java/com/glxp/api/entity/basic/UdiRelevanceEntity.java +++ b/src/main/java/com/glxp/api/entity/basic/UdiRelevanceEntity.java @@ -171,4 +171,6 @@ public class UdiRelevanceEntity { @TableField(value = "certIdFk") private String certIdFk; + @TableField(value = "zdcfsycs") + private String zdcfsycs ; } \ No newline at end of file diff --git a/src/main/java/com/glxp/api/req/basic/UdiRelevanceRequest.java b/src/main/java/com/glxp/api/req/basic/UdiRelevanceRequest.java index 2de29a4bd..2962ac9ca 100644 --- a/src/main/java/com/glxp/api/req/basic/UdiRelevanceRequest.java +++ b/src/main/java/com/glxp/api/req/basic/UdiRelevanceRequest.java @@ -37,6 +37,6 @@ public class UdiRelevanceRequest { private Boolean useMuti; //是否多次使用 private Integer useNum; //最小包装单元可使用次数 - + private String zdcfsycs; } diff --git a/src/main/java/com/glxp/api/req/basic/UdiRelevanceSaveRequest.java b/src/main/java/com/glxp/api/req/basic/UdiRelevanceSaveRequest.java index 68603f09a..197ab6d15 100644 --- a/src/main/java/com/glxp/api/req/basic/UdiRelevanceSaveRequest.java +++ b/src/main/java/com/glxp/api/req/basic/UdiRelevanceSaveRequest.java @@ -100,5 +100,5 @@ public class UdiRelevanceSaveRequest { private boolean groupBuy; //是否集采产品 private boolean needCert; //是否需要资质材料 private String certIdFk; - + private String zdcfsycs; } diff --git a/src/main/java/com/glxp/api/res/basic/UdiRelevanceResponse.java b/src/main/java/com/glxp/api/res/basic/UdiRelevanceResponse.java index d2f06e5dd..c22f537ad 100644 --- a/src/main/java/com/glxp/api/res/basic/UdiRelevanceResponse.java +++ b/src/main/java/com/glxp/api/res/basic/UdiRelevanceResponse.java @@ -108,7 +108,7 @@ public class UdiRelevanceResponse { private boolean needCert; //是否需要资质材料 private String classifyName; //物资分类名称 - + private String zdcfsycs; public int getBhzxxsbzsl() { if (bhzxxsbzsl == null || bhzxxsbzsl == 0) { diff --git a/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml b/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml index a900f4f03..5f6e283af 100644 --- a/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml +++ b/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml @@ -952,6 +952,9 @@ relCode=#{relCode}, + + zdcfsycs=#{zdcfsycs}, + needCert=#{needCert}, From 4a6f792398ee255f3c61fedccc36db2c30f5a36f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E6=98=8E=E6=A2=81?= <2429105222@qq.com> Date: Mon, 22 May 2023 14:47:23 +0800 Subject: [PATCH 14/20] =?UTF-8?q?=E5=A4=9A=E6=AC=A1=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E5=87=BA=E5=BA=93=E6=96=B0=E5=A2=9E=E5=8A=9F=E8=83=BD=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inout/IoOrderMutiController.java | 29 +++++++++++++++---- .../api/entity/basic/ProductInfoEntity.java | 2 +- .../api/entity/basic/UdiProductEntity.java | 3 +- .../api/entity/basic/UdiRelevanceEntity.java | 2 +- .../api/req/basic/UdiRelevanceRequest.java | 2 +- .../req/basic/UdiRelevanceSaveRequest.java | 2 +- .../api/res/basic/UdiRelevanceResponse.java | 2 +- .../mybatis/mapper/basic/UdiProductDao.xml | 2 ++ 8 files changed, 32 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderMutiController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderMutiController.java index 6c3588d21..fb65f2004 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderMutiController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderMutiController.java @@ -68,8 +68,20 @@ public class IoOrderMutiController { public BaseResponse checkUdi(@RequestBody IoOrderMutiEntity ioOrderMutiEntity) { if (StrUtil.isNotBlank(ioOrderMutiEntity.getUdiCode())) { + //查询码是否包含序列号 UdiEntity udiEntity = FilterUdiUtils.getUdi(ioOrderMutiEntity.getUdiCode()); + + //查询物资信息 + UdiProductEntity udiProductEntity = udiProductService.selectUdiByName(udiEntity.getUdi()); + if(udiProductEntity.getUseMuti()==null || udiProductEntity.getUseMuti()==false){ + return ResultVOUtils.error(999, "该产品不允许多次出库!"); + }else{ + if(udiProductEntity.getZdcfsycs() == null || udiProductEntity.getZdcfsycs().equals(0)){ + return ResultVOUtils.error(999, "该产品库存不足!"); + } + } + if (StrUtil.isNotBlank(udiEntity.getSerialNo())) { //包含 QueryWrapper ew = new QueryWrapper<>(); @@ -82,8 +94,6 @@ public class IoOrderMutiController { } return ResultVOUtils.success(ioOrderMutiEntityOne.getId()); } else { - //查询物资信息 - UdiProductEntity udiProductEntity = udiProductService.selectUdiByName(udiEntity.getUdi()); ioOrderMutiEntityOne = new IoOrderMutiEntity(); ioOrderMutiEntityOne.setId(IdUtil.getSnowflakeNextId()); ioOrderMutiEntityOne.setRelIdFk(udiProductEntity.getRelId()); @@ -92,11 +102,11 @@ public class IoOrderMutiController { ioOrderMutiEntityOne.setBatchNo(udiEntity.getBatchNo()); ioOrderMutiEntityOne.setExpireDate(udiEntity.getExpireDate()); ioOrderMutiEntityOne.setProduceDate(udiEntity.getProduceDate()); - ioOrderMutiEntityOne.setTotalCount(20); + ioOrderMutiEntityOne.setTotalCount(udiProductEntity.getZdcfsycs()); ioOrderMutiEntityOne.setStatus(0); ioOrderMutiEntityOne.setCreateUser(customerService.getUserId() + ""); ioOrderMutiEntityOne.setUseCount(0); - ioOrderMutiEntityOne.setReCount(20); + ioOrderMutiEntityOne.setReCount(udiProductEntity.getZdcfsycs()); ioOrderMutiEntityOne.setCreateTime(new Date()); ioOrderMutiEntityOne.setUpdateTime(new Date()); ioOrderMutiEntityOne.setNameCode(udiProductEntity.getNameCode()); @@ -143,6 +153,13 @@ public class IoOrderMutiController { UdiEntity udiEntity = FilterUdiUtils.getUdi(ioOrderMutiEntity.getUdiCode()); //查询物资信息 UdiProductEntity udiProductEntity = udiProductService.selectUdiByName(udiEntity.getUdi()); + if(udiProductEntity.getUseMuti()==null || udiProductEntity.getUseMuti()==false){ + return ResultVOUtils.error(999, "该产品不允许多次出库!"); + }else{ + if(udiProductEntity.getZdcfsycs() == null || udiProductEntity.getZdcfsycs().equals(0)){ + return ResultVOUtils.error(999, "该产品库存不足!"); + } + } IoOrderMutiEntity ioOrderMutiEntity1 = new IoOrderMutiEntity(); ioOrderMutiEntity1.setId(IdUtil.getSnowflakeNextId()); @@ -152,10 +169,10 @@ public class IoOrderMutiController { ioOrderMutiEntity1.setBatchNo(udiEntity.getBatchNo()); ioOrderMutiEntity1.setExpireDate(udiEntity.getExpireDate()); ioOrderMutiEntity1.setProduceDate(udiEntity.getProduceDate()); - ioOrderMutiEntity1.setTotalCount(20); + ioOrderMutiEntity1.setTotalCount(udiProductEntity.getZdcfsycs()); ioOrderMutiEntity1.setStatus(0); ioOrderMutiEntity1.setUseCount(0); - ioOrderMutiEntity1.setReCount(20); + ioOrderMutiEntity1.setReCount(udiProductEntity.getZdcfsycs()); ioOrderMutiEntity1.setCreateUser(customerService.getUserId() + ""); ioOrderMutiEntity1.setCreateTime(new Date()); ioOrderMutiEntity1.setUpdateTime(new Date()); diff --git a/src/main/java/com/glxp/api/entity/basic/ProductInfoEntity.java b/src/main/java/com/glxp/api/entity/basic/ProductInfoEntity.java index b34a1a3d6..0db267ddf 100644 --- a/src/main/java/com/glxp/api/entity/basic/ProductInfoEntity.java +++ b/src/main/java/com/glxp/api/entity/basic/ProductInfoEntity.java @@ -61,7 +61,7 @@ public class ProductInfoEntity { private String sfwblztlcp; private String cgzmraqxgxx; private String sfbjwycxsy; - private String zdcfsycs; + private Integer zdcfsycs; private String sfwwjbz; private String syqsfxyjxmj; private String qtxxdwzlj; diff --git a/src/main/java/com/glxp/api/entity/basic/UdiProductEntity.java b/src/main/java/com/glxp/api/entity/basic/UdiProductEntity.java index cfc6a11fb..201cdbf9f 100644 --- a/src/main/java/com/glxp/api/entity/basic/UdiProductEntity.java +++ b/src/main/java/com/glxp/api/entity/basic/UdiProductEntity.java @@ -78,8 +78,9 @@ public class UdiProductEntity { private Integer status; private String supId; - + private Boolean useMuti; //是否多次使用 private Long relSupId; + private Integer zdcfsycs; public Boolean getAllowNoBatch() { diff --git a/src/main/java/com/glxp/api/entity/basic/UdiRelevanceEntity.java b/src/main/java/com/glxp/api/entity/basic/UdiRelevanceEntity.java index d365a80b9..e54995426 100644 --- a/src/main/java/com/glxp/api/entity/basic/UdiRelevanceEntity.java +++ b/src/main/java/com/glxp/api/entity/basic/UdiRelevanceEntity.java @@ -172,5 +172,5 @@ public class UdiRelevanceEntity { @TableField(value = "certIdFk") private String certIdFk; @TableField(value = "zdcfsycs") - private String zdcfsycs ; + private Integer zdcfsycs ; } \ No newline at end of file diff --git a/src/main/java/com/glxp/api/req/basic/UdiRelevanceRequest.java b/src/main/java/com/glxp/api/req/basic/UdiRelevanceRequest.java index 2962ac9ca..5217a10b4 100644 --- a/src/main/java/com/glxp/api/req/basic/UdiRelevanceRequest.java +++ b/src/main/java/com/glxp/api/req/basic/UdiRelevanceRequest.java @@ -37,6 +37,6 @@ public class UdiRelevanceRequest { private Boolean useMuti; //是否多次使用 private Integer useNum; //最小包装单元可使用次数 - private String zdcfsycs; + private Integer zdcfsycs; } diff --git a/src/main/java/com/glxp/api/req/basic/UdiRelevanceSaveRequest.java b/src/main/java/com/glxp/api/req/basic/UdiRelevanceSaveRequest.java index 197ab6d15..9230bba9d 100644 --- a/src/main/java/com/glxp/api/req/basic/UdiRelevanceSaveRequest.java +++ b/src/main/java/com/glxp/api/req/basic/UdiRelevanceSaveRequest.java @@ -100,5 +100,5 @@ public class UdiRelevanceSaveRequest { private boolean groupBuy; //是否集采产品 private boolean needCert; //是否需要资质材料 private String certIdFk; - private String zdcfsycs; + private Integer zdcfsycs; } diff --git a/src/main/java/com/glxp/api/res/basic/UdiRelevanceResponse.java b/src/main/java/com/glxp/api/res/basic/UdiRelevanceResponse.java index c22f537ad..3b2c75ea9 100644 --- a/src/main/java/com/glxp/api/res/basic/UdiRelevanceResponse.java +++ b/src/main/java/com/glxp/api/res/basic/UdiRelevanceResponse.java @@ -108,7 +108,7 @@ public class UdiRelevanceResponse { private boolean needCert; //是否需要资质材料 private String classifyName; //物资分类名称 - private String zdcfsycs; + private Integer zdcfsycs; public int getBhzxxsbzsl() { if (bhzxxsbzsl == null || bhzxxsbzsl == 0) { diff --git a/src/main/resources/mybatis/mapper/basic/UdiProductDao.xml b/src/main/resources/mybatis/mapper/basic/UdiProductDao.xml index 27cf7ff02..7cb2ba463 100644 --- a/src/main/resources/mybatis/mapper/basic/UdiProductDao.xml +++ b/src/main/resources/mybatis/mapper/basic/UdiProductDao.xml @@ -964,6 +964,8 @@