diff --git a/src/main/java/com/glxp/api/controller/collect/IoCollectOrderController.java b/src/main/java/com/glxp/api/controller/collect/IoCollectOrderController.java index f7d6e9219..3c22290b1 100644 --- a/src/main/java/com/glxp/api/controller/collect/IoCollectOrderController.java +++ b/src/main/java/com/glxp/api/controller/collect/IoCollectOrderController.java @@ -178,5 +178,9 @@ public class IoCollectOrderController extends BaseController { return ResultVOUtils.success(); } - + @GetMapping("/udiwms/collect/order/clearAll") + public BaseResponse clearAll() { + collectOrderService.clearOrder(); + return ResultVOUtils.success(); + } } diff --git a/src/main/java/com/glxp/api/dao/collect/IoCollectOrderMapper.java b/src/main/java/com/glxp/api/dao/collect/IoCollectOrderMapper.java index a1ed11dbd..005088904 100644 --- a/src/main/java/com/glxp/api/dao/collect/IoCollectOrderMapper.java +++ b/src/main/java/com/glxp/api/dao/collect/IoCollectOrderMapper.java @@ -13,4 +13,6 @@ public interface IoCollectOrderMapper extends BaseMapper { List filterList(CollectOrderRequest collectOrderRequest); + void clearOrder(); + } diff --git a/src/main/java/com/glxp/api/service/basic/BasicSkPrescirbeDetailService.java b/src/main/java/com/glxp/api/service/basic/BasicSkPrescirbeDetailService.java index 4549e1d89..e252e1a35 100644 --- a/src/main/java/com/glxp/api/service/basic/BasicSkPrescirbeDetailService.java +++ b/src/main/java/com/glxp/api/service/basic/BasicSkPrescirbeDetailService.java @@ -1,10 +1,18 @@ package com.glxp.api.service.basic; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.glxp.api.entity.basic.BasicSkPrescribeItemEntity; import com.glxp.api.dao.basic.BasicSkPrescirbeDetailMapper; + +import java.util.List; + @Service public class BasicSkPrescirbeDetailService extends ServiceImpl { + public List findByPrescribeNum(String prescribeNum) { + return list(new LambdaQueryWrapper().eq(BasicSkPrescribeItemEntity::getPrescribeCode, prescribeNum)); + } + } diff --git a/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java b/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java index 41d65a087..66e2a7f6b 100644 --- a/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java +++ b/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java @@ -6,20 +6,24 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.PageHelper; import com.glxp.api.dao.collect.IoCollectOrderMapper; import com.glxp.api.entity.basic.BasicCollectBustypeEntity; +import com.glxp.api.entity.basic.BasicSkPrescribeEntity; +import com.glxp.api.entity.basic.BasicSkPrescribeItemEntity; import com.glxp.api.entity.collect.IoCollectOrder; import com.glxp.api.entity.collect.IoCollectOrderBiz; import com.glxp.api.entity.inout.IoOrderDetailBizEntity; -import com.glxp.api.entity.inout.IoOrderEntity; import com.glxp.api.req.collect.CollectOrderRequest; import com.glxp.api.req.inout.FilterOrderRequest; import com.glxp.api.res.basic.UdiRelevanceResponse; import com.glxp.api.res.collect.IoCollectOrderResponse; import com.glxp.api.res.inout.IoOrderResponse; import com.glxp.api.service.basic.BasicCollectBustypeService; +import com.glxp.api.service.basic.BasicSkPrescirbeDetailService; +import com.glxp.api.service.basic.BasicSkPrescribeService; import com.glxp.api.service.basic.UdiRelevanceService; import com.glxp.api.service.inout.IoOrderDetailBizService; import com.glxp.api.service.inout.IoOrderService; import com.glxp.api.util.IntUtil; +import com.glxp.api.util.MsDateUtil; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -61,11 +65,25 @@ public class IoCollectOrderService extends ServiceImpl basicSkPrescribeEntities = basicSkPrescribeService.list(); + + List collectOrderList = new ArrayList<>(); + for (BasicSkPrescribeEntity basicSkPrescribeEntity : basicSkPrescribeEntities) { + BasicCollectBustypeEntity collectBustypeEntity = collectBustypeService.findByAddr(basicSkPrescribeEntity.getWorkPlaceCode()); + if (collectBustypeEntity == null) + continue; + if (collectOrderMapper.exists(new LambdaQueryWrapper().eq(IoCollectOrder::getBillNo, basicSkPrescribeEntity.getCode()))) { + continue; + } + IoCollectOrder collectOrder = IoCollectOrder.builder() + .billNo(basicSkPrescribeEntity.getCode()) + .busType(collectBustypeEntity.getCode()) + .fromType(collectBustypeEntity.getFromType()) + .fromCorp(basicSkPrescribeEntity.getSickerCode()) + .billTime(MsDateUtil.localToDate(basicSkPrescribeEntity.getCreateTime())) + .createTime(new Date()) + .createUser(basicSkPrescribeEntity.getCreateUser()) + .updateTime(new Date()) + .splitStatus(0) + .tagStatus(0) + .build(); + collectOrderList.add(collectOrder); + List basicSkPrescribeItemEntities = basicSkPrescirbeDetailService.findByPrescribeNum(basicSkPrescribeEntity.getCode()); + + List collectOrderBizs = new ArrayList<>(); + for (BasicSkPrescribeItemEntity bizEntity : basicSkPrescribeItemEntities) { + UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectByRelId(bizEntity.getRelId() + ""); + IoCollectOrderBiz collectOrderBiz = IoCollectOrderBiz.builder().orderIdFk(collectOrder.getBillNo()) + .relId(bizEntity.getRelId()) + .thrCode(bizEntity.getItemCode()) + .ybbm(udiRelevanceResponse.getYbbm()) + .payFeeCode(udiRelevanceResponse.getPayFeeCode()) + .cpmctymc(bizEntity.getItemName()) + .nameCode(udiRelevanceResponse.getNameCode()) + .ggxh(bizEntity.getGgxh()) + .batchNo(bizEntity.getBatchNo()) + .count(IntUtil.value(bizEntity.getMeasureCount())) + .measureUnit(bizEntity.getMeasureUnit()) + .tagStatus(1) + .unTagCount(bizEntity.getCount()).build(); + +// if (IntUtil.value(udiRelevanceResponse.getProductsType()) == 2) { +// collectOrderBiz.setGgxh(udiRelevanceResponse.getBzgg()); +// collectOrderBiz.setMeasureUnit(udiRelevanceResponse.getPrepnUnit()); +// } + collectOrderBizs.add(collectOrderBiz); + } + if (CollUtil.isNotEmpty(collectOrderBizs)) + collectOrderBizService.saveBatch(collectOrderBizs); + } + if (CollUtil.isNotEmpty(collectOrderList)) { + saveBatch(collectOrderList); + } } } diff --git a/src/main/java/com/glxp/api/util/MsDateUtil.java b/src/main/java/com/glxp/api/util/MsDateUtil.java index f932151a5..c506312cc 100644 --- a/src/main/java/com/glxp/api/util/MsDateUtil.java +++ b/src/main/java/com/glxp/api/util/MsDateUtil.java @@ -12,6 +12,9 @@ import java.lang.management.ManagementFactory; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.ZonedDateTime; import java.util.*; @Slf4j @@ -708,4 +711,14 @@ public class MsDateUtil extends DateUtils { Date dt1 = rightNow.getTime(); return dt1; } + + public static Date localToDate(LocalDateTime localDateTime) { + if (localDateTime == null) + return null; + // 将LocalDateTime转换为ZonedDateTime,需要指定时区 + ZonedDateTime zonedDateTime = localDateTime.atZone(ZoneId.systemDefault()); + + // 使用ZonedDateTime的toInstant()方法转换为Instant,然后调用Date.from(Instant)获取Date + return Date.from(zonedDateTime.toInstant()); + } } diff --git a/src/main/resources/mybatis/mapper/collect/IoCollectOrderMapper.xml b/src/main/resources/mybatis/mapper/collect/IoCollectOrderMapper.xml index a8806f7e6..03cf778d7 100644 --- a/src/main/resources/mybatis/mapper/collect/IoCollectOrderMapper.xml +++ b/src/main/resources/mybatis/mapper/collect/IoCollectOrderMapper.xml @@ -49,4 +49,19 @@ order by collectTime desc + + +