From 16b7f90c5a56bde8ce9c7dfc5e549a4f0c3ce274 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E7=A3=8A?= <45566618@qq.com> Date: Wed, 31 Dec 2025 14:24:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E6=8C=87=E4=BB=A4-=E7=9B=98?= =?UTF-8?q?=E7=82=B9=E6=8C=87=E4=BB=A4=EF=BC=8C=E5=BC=80=E5=A7=8B=E7=BB=93?= =?UTF-8?q?=E6=9D=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pad/invoicing/api/InvoicingPddApi.java | 46 +++++++- .../com/nu/modules/invoicing/api/IPddApi.java | 4 + .../impl/NuInvoicingPddMainServiceImpl.java | 46 ++++++-- .../invoicing/api/IInvoicingPdOrdersApi.java | 35 ++++++ .../mapper/xml/InvoicingOrdersMapper.xml | 3 + .../order/service/IPdOrdersService.java | 14 +++ .../service/impl/PdOrdersServiceImpl.java | 100 ++++++++++++++++++ 7 files changed, 238 insertions(+), 10 deletions(-) create mode 100644 nursing-unit-services/nu-services-api/nu-services-local-api/src/main/java/com/nu/modules/invoicing/api/IInvoicingPdOrdersApi.java create mode 100644 nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/invoicing/order/service/IPdOrdersService.java create mode 100644 nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/invoicing/order/service/impl/PdOrdersServiceImpl.java diff --git a/nursing-unit-api/src/main/java/com/nu/modules/pad/invoicing/api/InvoicingPddApi.java b/nursing-unit-api/src/main/java/com/nu/modules/pad/invoicing/api/InvoicingPddApi.java index 0a758d34..ac348be8 100644 --- a/nursing-unit-api/src/main/java/com/nu/modules/pad/invoicing/api/InvoicingPddApi.java +++ b/nursing-unit-api/src/main/java/com/nu/modules/pad/invoicing/api/InvoicingPddApi.java @@ -2,7 +2,6 @@ package com.nu.modules.pad.invoicing.api; import com.baomidou.mybatisplus.core.metadata.IPage; import com.nu.entity.*; -import com.nu.modules.invoicing.api.IInvoicingApi; import com.nu.modules.invoicing.api.IPddApi; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang.StringUtils; @@ -10,9 +9,7 @@ import org.jeecg.common.api.vo.Result; import org.jeecg.common.aspect.annotation.AutoLog; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; - import javax.servlet.http.HttpServletRequest; -import java.util.HashMap; import java.util.List; import java.util.Map; @@ -23,7 +20,6 @@ import java.util.Map; @RequestMapping("/api/pad/invoicing/pdd") public class InvoicingPddApi { - @Autowired private IPddApi pddApi; @@ -136,4 +132,46 @@ public class InvoicingPddApi { Map pageList = pddApi.queryPddStartInfo(invoicingPddInfoEntity); return Result.OK(pageList); } + + /** + * 盘点单-服务指令-开始服务 + * + * @param dto + * @return + */ + @ApiOperation(value = "盘点单-服务指令-开始服务", notes = "盘点单-服务指令-开始服务") + @AutoLog(value = "盘点单-服务指令-开始服务", clientType = "app") + @PostMapping(value = "/startDirectiveServe") + public Result startDirectiveServe(@RequestBody InvoicingPddInfoEntity dto) { + if (StringUtils.isBlank(dto.getId())) { + return Result.error("缺少参数"); + } + Map result = pddApi.startDirectiveServe(dto); + if ("0".equals(result.get("error_code"))) { + return Result.OK(result.get("msg")); + } else { + return Result.error(result.get("msg")); + } + } + + /** + * 盘点单-服务指令-结束服务 + * + * @param dto + * @return + */ + @ApiOperation(value = "盘点单-服务指令-结束服务", notes = "盘点单-服务指令-结束服务") + @AutoLog(value = "盘点单-服务指令-结束服务", clientType = "app") + @PostMapping(value = "/finishDirectiveServe") + public Result finishDirectiveServe(@RequestBody InvoicingPddInfoEntity dto) { + if (StringUtils.isBlank(dto.getId())) { + return Result.error("缺少参数"); + } + Map result = pddApi.finishDirectiveServe(dto); + if ("0".equals(result.get("error_code"))) { + return Result.OK(result.get("msg")); + } else { + return Result.error(result.get("msg")); + } + } } diff --git a/nursing-unit-invoicing/nu-invoicing-api/nu-invoicing-local-api/src/main/java/com/nu/modules/invoicing/api/IPddApi.java b/nursing-unit-invoicing/nu-invoicing-api/nu-invoicing-local-api/src/main/java/com/nu/modules/invoicing/api/IPddApi.java index 19c18dcf..38d8870b 100644 --- a/nursing-unit-invoicing/nu-invoicing-api/nu-invoicing-local-api/src/main/java/com/nu/modules/invoicing/api/IPddApi.java +++ b/nursing-unit-invoicing/nu-invoicing-api/nu-invoicing-local-api/src/main/java/com/nu/modules/invoicing/api/IPddApi.java @@ -24,4 +24,8 @@ public interface IPddApi { Map voidedPddMain(InvoicingPddMainEntity invoicingPddMainEntity); Map queryPddStartInfo(InvoicingPddInfoEntity invoicingPddInfoEntity); + + Map startDirectiveServe(InvoicingPddInfoEntity invoicingPddInfoEntity); + + Map finishDirectiveServe(InvoicingPddInfoEntity invoicingPddInfoEntity); } diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/pdd/service/impl/NuInvoicingPddMainServiceImpl.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/pdd/service/impl/NuInvoicingPddMainServiceImpl.java index 57df0bec..52d49406 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/pdd/service/impl/NuInvoicingPddMainServiceImpl.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/pdd/service/impl/NuInvoicingPddMainServiceImpl.java @@ -4,13 +4,10 @@ import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.nu.entity.InvoicingPddInfoEntity; -import com.nu.entity.InvoicingPddMainEntity; -import com.nu.entity.MaterialInfoEntity; +import com.nu.entity.*; import com.nu.modules.cgd.entity.NuWarehouseMaterialCrkInfo; import com.nu.modules.cgd.mapper.NuWarehouseMaterialCrkInfoMapper; -import com.nu.modules.invoicing.api.IInvoicingApi; -import com.nu.modules.invoicing.api.IPddApi; +import com.nu.modules.invoicing.api.*; import com.nu.modules.nubaseinfo.entity.NuBaseInfo; import com.nu.modules.nubaseinfo.mapper.NuBaseInfoMapper; import com.nu.modules.pdd.entity.NuInvoicingPddInfo; @@ -23,6 +20,7 @@ import com.nu.modules.warehouseMaterialInfo.mapper.BlWarehouseMaterialInfoMapper import com.nu.utils.DictUtils; import org.apache.commons.lang.StringUtils; import org.apache.shiro.SecurityUtils; +import org.jeecg.common.api.vo.Result; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.system.query.QueryRuleEnum; import org.jeecg.common.system.vo.LoginUser; @@ -65,6 +63,10 @@ public class NuInvoicingPddMainServiceImpl extends ServiceImpl queryPddList(Integer pageNo, Integer pageSize, InvoicingPddMainEntity invoicingPddMainEntity, HttpServletRequest req) { @@ -96,8 +98,8 @@ public class NuInvoicingPddMainServiceImpl extends ServiceImpl addPddMain(InvoicingPddMainEntity invoicingPddMainEntity) { - Map map = new HashMap<>(); + List list = baseMapper.selectList(new QueryWrapper().eq("nu_id",invoicingPddMainEntity.getNuId()).eq("pdd_type","1")); if(list.size() > 0){ map.put("success","false"); @@ -205,6 +207,7 @@ public class NuInvoicingPddMainServiceImpl extends ServiceImpl submitPddMain(InvoicingPddMainEntity invoicingPddMainEntity) { Map map = new HashMap<>(); + LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); if(user == null || StringUtils.isBlank(user.getRealname())){ user = new LoginUser(); @@ -349,4 +352,35 @@ public class NuInvoicingPddMainServiceImpl extends ServiceImpl startDirectiveServe(InvoicingPddInfoEntity dto) { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + InvoicingOrdersEntity orderEntity = new InvoicingOrdersEntity(); + orderEntity.setId(dto.getId());//指令id + orderEntity.setInitiatorId(sysUser.getEmployessId());//员工id + Map result = invoicingOrdersApi.beginOrder(orderEntity); + return result; + } + + /** + * 工单结束 + * @param dto + * @return + */ + @Override + @Transactional(rollbackFor = Exception.class) + public Map finishDirectiveServe(InvoicingPddInfoEntity dto){ + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + InvoicingOrdersEntity p_ = new InvoicingOrdersEntity(); + p_.setId(dto.getId()); + p_.setInitiatorId(sysUser.getEmployessId()); + return invoicingOrdersApi.finishOrder(p_); + } } diff --git a/nursing-unit-services/nu-services-api/nu-services-local-api/src/main/java/com/nu/modules/invoicing/api/IInvoicingPdOrdersApi.java b/nursing-unit-services/nu-services-api/nu-services-local-api/src/main/java/com/nu/modules/invoicing/api/IInvoicingPdOrdersApi.java new file mode 100644 index 00000000..85cf42a1 --- /dev/null +++ b/nursing-unit-services/nu-services-api/nu-services-local-api/src/main/java/com/nu/modules/invoicing/api/IInvoicingPdOrdersApi.java @@ -0,0 +1,35 @@ +package com.nu.modules.invoicing.api; + +import com.nu.entity.InvoicingOrdersEntity; +import org.jeecg.common.api.vo.Result; + +import java.util.Map; + +/** + * @Description: 仓库类服务指令盘点工单 + * @Author: caolei + * @Date: 2025-12-29 + * @Version: V1.0 + */ +public interface IInvoicingPdOrdersApi { + + /** + * 获取工单信息 + * @param invoicingOrdersEntity + * @return + */ + InvoicingOrdersEntity getOrderInfo(InvoicingOrdersEntity invoicingOrdersEntity); + + /** + * 是否可提交 + * @param invoicingOrdersEntity + */ + Result izCanAdd(InvoicingOrdersEntity invoicingOrdersEntity); + + /** + * 单元退货-提交时修改业务单号 + * @param invoicingOrdersEntity + */ + void updateOrderBizId(InvoicingOrdersEntity invoicingOrdersEntity); + +} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/invoicing/order/mapper/xml/InvoicingOrdersMapper.xml b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/invoicing/order/mapper/xml/InvoicingOrdersMapper.xml index ca6a4295..c43b2f9a 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/invoicing/order/mapper/xml/InvoicingOrdersMapper.xml +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/invoicing/order/mapper/xml/InvoicingOrdersMapper.xml @@ -280,6 +280,9 @@ and biz_type = #{bizType} + + and biz_type = #{flowCode} + and del_flag = #{delFlag} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/invoicing/order/service/IPdOrdersService.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/invoicing/order/service/IPdOrdersService.java new file mode 100644 index 00000000..a70d3579 --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/invoicing/order/service/IPdOrdersService.java @@ -0,0 +1,14 @@ +package com.nu.modules.biz.invoicing.order.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.nu.modules.biz.invoicing.order.entity.InvoicingOrders; + +/** + * @Description: 仓库类服务指令-盘点工单 + * @Author: caolei + * @Date: 2025-12-29 + * @Version: V1.0 + */ +public interface IPdOrdersService extends IService { + +} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/invoicing/order/service/impl/PdOrdersServiceImpl.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/invoicing/order/service/impl/PdOrdersServiceImpl.java new file mode 100644 index 00000000..37f151b0 --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/invoicing/order/service/impl/PdOrdersServiceImpl.java @@ -0,0 +1,100 @@ +package com.nu.modules.biz.invoicing.order.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.nu.entity.InvoicingOrdersEntity; +import com.nu.modules.biz.invoicing.order.entity.InvoicingOrders; +import com.nu.modules.biz.invoicing.order.mapper.InvoicingOrdersMapper; +import com.nu.modules.biz.invoicing.order.service.IEmpOrdersService; +import com.nu.modules.biz.invoicing.order.service.IPdOrdersService; +import com.nu.modules.invoicing.api.IInvoicingPdOrdersApi; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import java.util.*; + +/** + * @Description: 仓库类服务指令-盘点工单 + * @Author: caolei + * @Date: 2025-12-29 + * @Version: V1.0 + */ +@Service +@Slf4j +public class PdOrdersServiceImpl extends ServiceImpl implements IPdOrdersService, IInvoicingPdOrdersApi { + + @Autowired + IEmpOrdersService empOrdersService; + + /** + * 获取工单信息 + * @param invoicingOrdersEntity + * @return + */ + @Override + public InvoicingOrdersEntity getOrderInfo(InvoicingOrdersEntity invoicingOrdersEntity){ + log.info("function:getOrderInfo"); + log.info("id:"+invoicingOrdersEntity.getId()); + InvoicingOrders io = new InvoicingOrders(); + BeanUtils.copyProperties(invoicingOrdersEntity, io); + InvoicingOrders entity = baseMapper.getOrderOne(io); + if(entity!=null){ + InvoicingOrdersEntity ioe = new InvoicingOrdersEntity(); + BeanUtils.copyProperties(entity, ioe); + return ioe; + } + return null; + } + + /** + * 是否可提交 + * @param invoicingOrdersEntity + */ + @Override + public Result izCanAdd(InvoicingOrdersEntity invoicingOrdersEntity){ + InvoicingOrders io = new InvoicingOrders(); + BeanUtils.copyProperties(invoicingOrdersEntity, io); + InvoicingOrders entity = baseMapper.getOrderOne(io); + if(entity!=null){ + if(!"Y".equals(entity.getIzStart())) { + return Result.error("工单未开始"); + } + if(!"".equals(entity.getBizId())) { + return Result.error("工单未开始"); + } + }else{ + return Result.error("工单不存在"); + } + return Result.OK("可以新增"); + } + + /** + * 单元退货流程中提交时修改业务单号 + * @param invoicingOrdersEntity + */ + @Override + public void updateOrderBizId(InvoicingOrdersEntity invoicingOrdersEntity){ + log.info("function:updateOrderBizId"); + log.info("PoolId:"+invoicingOrdersEntity.getPoolId()); + log.info("BizId:"+invoicingOrdersEntity.getBizId()); + log.info("UpdateBy:"+invoicingOrdersEntity.getInitiatorId()); + empOrdersService.getNames(invoicingOrdersEntity); + QueryWrapper ioQw = new QueryWrapper<>(); + ioQw.eq("pool_id", invoicingOrdersEntity.getPoolId()); + InvoicingOrders order = this.getOne(ioQw); + log.info("order:"+order); + if(order!=null){ + log.info("OrderId:"+order.getId()); + //修改请领单的bizId + InvoicingOrders entity = new InvoicingOrders(); + entity.setId(order.getId()); + entity.setBizId(invoicingOrdersEntity.getBizId()); + entity.setUpdateEmp(invoicingOrdersEntity.getInitiatorId()); + entity.setUpdateTime(new Date()); + baseMapper.updateById(entity); + } + } + +}