Merge remote-tracking branch 'origin/dev_fifo_z' into dev_fifo_z

dev_no_inv
yewj 10 months ago
commit 45931be879

@ -1,6 +1,7 @@
package com.glxp.api.controller.basic;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.thread.ThreadUtil;
import cn.hutool.core.util.StrUtil;
import com.github.pagehelper.PageInfo;
@ -13,13 +14,16 @@ import com.glxp.api.controller.BaseController;
import com.glxp.api.entity.basic.BasicSkPrescribeEntity;
import com.glxp.api.entity.basic.BasicSkPrescribeItemEntity;
import com.glxp.api.entity.basic.BasicSkSickerEntity;
import com.glxp.api.entity.collect.IoCollectOrder;
import com.glxp.api.req.basic.*;
import com.glxp.api.req.collect.CollectOrderRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.basic.BasicSkPrescribeResponse;
import com.glxp.api.res.basic.BasicSkSickerResponse;
import com.glxp.api.service.BasicSkPrescribeItemService;
import com.glxp.api.service.basic.BasicSkPrescribeService;
import com.glxp.api.service.basic.BasicSkSickerService;
import com.glxp.api.service.collect.IoCollectOriginService;
import com.glxp.api.vo.basic.BasicSkPrescribeDetailVo;
import org.apache.poi.ss.formula.functions.Offset;
import org.springframework.validation.BindingResult;
@ -27,6 +31,7 @@ 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 com.glxp.api.service.collect.DownloadFactory;
import javax.annotation.Resource;
import java.util.List;
@ -45,6 +50,10 @@ public class BasicSkPrescribeController extends BaseController {
@Resource
BasicSkPrescribeItemService basicSkPrescribeItemService;
@Resource
DownloadFactory downloadFactory;
@Resource
IoCollectOriginService collectOriginService;
@GetMapping("/udiwms/basic/sk/prescribe/filter")
public BaseResponse filterSicker(BasicSkPrescribeRequest basicSkPrescribeRequest) {
@ -106,10 +115,28 @@ public class BasicSkPrescribeController extends BaseController {
*
* @return
*/
@GetMapping("/udiwms/basic/sk/prescribe/save")
@PostMapping("/udiwms/basic/sk/prescribe/save")
public BaseResponse sickerPrescribeSave(@RequestBody SickerPrescribeSaveRequest sickerPrescribeSaveRequest) {
List<BasicSkPrescribeEntity> list = sickerPrescribeSaveRequest.getList();
basicSkPrescribeService.saveOrUpdateBatch(list);
Integer stauts = sickerPrescribeSaveRequest.getStauts();
if (stauts == 1){
List<IoCollectOrder> list = sickerPrescribeSaveRequest.getList();
if (CollUtil.isNotEmpty(list)){
CollectOrderRequest collectOrderRequest = new CollectOrderRequest();
for (IoCollectOrder ioCollectOrder : list) {
collectOrderRequest.setBillNo(ioCollectOrder.getBillNo());
collectOrderRequest.setBusType(ioCollectOrder.getBusType());
return downloadFactory.downloadOrder(collectOrderRequest);
}
}
}else if (stauts == 2){
CollectOrderRequest collectOrderRequest = new CollectOrderRequest();
collectOrderRequest.setStartTime(sickerPrescribeSaveRequest.getStartTime());
collectOrderRequest.setEndTime(sickerPrescribeSaveRequest.getEndTime());
collectOrderRequest.setBusType(sickerPrescribeSaveRequest.getBusType());
collectOrderRequest.setBillNo(sickerPrescribeSaveRequest.getBillNo());
return collectOriginService.downloadOrderV2(collectOrderRequest);
}
return ResultVOUtils.success();
}

@ -53,6 +53,8 @@ public class IoCollectOrderController extends BaseController {
@Resource
IoCollectOrderOriginService collectOrderOriginService;
@Resource
IoCollectOrderBizOriginService collectOrderBizOriginService;
@Resource
IoCollectOrderBizService collectOrderBizService;
@ -238,6 +240,17 @@ public class IoCollectOrderController extends BaseController {
return ResultVOUtils.success();
}
@PostMapping("/udiwms/basic/collect/order/deleteOriginOrder")
public BaseResponse deleteOrderOrigin(@RequestBody DeleteRequest deleteRequest) {
String billNo = deleteRequest.getBillNo();
if (StrUtil.isBlank(billNo)) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
}
collectOrderOriginService.remove(new LambdaQueryWrapper<IoCollectOrderOrigin>().eq(IoCollectOrderOrigin::getBillNo, billNo));
collectOrderBizOriginService.remove(new LambdaQueryWrapper<IoCollectOrderBizOrigin>().eq(IoCollectOrderBizOrigin::getOrderIdFk, billNo));
return ResultVOUtils.success();
}
/**
*
*

@ -9,10 +9,12 @@ import com.glxp.api.controller.BaseController;
import com.glxp.api.dao.basic.SysWorkplaceDocumentDao;
import com.glxp.api.entity.collect.IoCollectOrder;
import com.glxp.api.entity.collect.IoCollectOrderOrigin;
import com.glxp.api.http.ErpBasicClient;
import com.glxp.api.req.basic.BasicCollectUserRequest;
import com.glxp.api.req.basic.WorkBindBusTypeRequest;
import com.glxp.api.req.collect.CollectOrderBizRequest;
import com.glxp.api.req.collect.CollectOrderRequest;
import com.glxp.api.req.thrsys.FilterThrOrderRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.basic.SysWorkplaceDocumentResponse;
import com.glxp.api.res.basic.UserWorkResponse;
@ -24,6 +26,7 @@ import com.glxp.api.service.collect.DownloadFactory;
import com.glxp.api.service.collect.IoCollectOrderBizOriginService;
import com.glxp.api.service.collect.IoCollectOrderOriginService;
import com.glxp.api.service.collect.IoCollectOriginService;
import com.glxp.api.util.IntUtil;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@ -55,13 +58,30 @@ public class IoCollectOriginController extends BaseController {
SysWorkplaceDocumentDao sysWorkplaceDocumentDao;
@Resource
SysWorkplaceDocumentService sysWorkplaceDocumentService;
@Resource
private ErpBasicClient erpBasicClient;
@PostMapping("/udiwms/basic/collect/origin/order/download")
public BaseResponse downloadOrder(@RequestBody CollectOrderRequest collectOrderRequest) {
return collectOriginService.downloadOrderV2(collectOrderRequest);
}
@PostMapping("/udiwms/basic/collect/origin/order/getThrOrderPage")
public BaseResponse getThrOrders(@RequestBody CollectOrderRequest collectOrderRequest) {
FilterThrOrderRequest filterThrOrderRequest = new FilterThrOrderRequest();
filterThrOrderRequest.setLimit(collectOrderRequest.getLimit());
filterThrOrderRequest.setBillNo(collectOrderRequest.getBillNo());
filterThrOrderRequest.setThirdSys("thirdId");
filterThrOrderRequest.setBusType(collectOrderRequest.getBusType());
filterThrOrderRequest.setWorkPlaceCode(collectOrderRequest.getWorkPlaceCode());
filterThrOrderRequest.setFromType(collectOrderRequest.getFromType());
filterThrOrderRequest.setStartTime(collectOrderRequest.getStartTime());
filterThrOrderRequest.setEndTime(collectOrderRequest.getEndTime());
filterThrOrderRequest.setPage(collectOrderRequest.getPage());
BaseResponse<PageSimpleResponse<IoCollectOrder>> baseResponse = erpBasicClient.getThrOrders(filterThrOrderRequest);
return baseResponse;
}
/**
*
@ -71,8 +91,18 @@ public class IoCollectOriginController extends BaseController {
*/
@PostMapping("/udiwms/basic/collect/origin/order/errorHandle")
public BaseResponse errorHandle(@RequestBody CollectOrderRequest collectOrderRequest) {
collectOriginService.errorHandle(collectOrderRequest);
return ResultVOUtils.success();
return collectOriginService.errorHandle(collectOrderRequest);
}
/**
* -
*
* @param collectOrderRequest
* @return
*/
@PostMapping("/udiwms/basic/collect/origin/order/errorHandleSubmit")
public BaseResponse errorHandleSubmit(@RequestBody CollectOrderRequest collectOrderRequest) {
return collectOriginService.errorHandleSubmit(collectOrderRequest);
}
@GetMapping("/udiwms/basic/collect/origin/order/filter")

@ -322,5 +322,9 @@ public class IoCollectOrderOrigin implements Serializable {
@ApiModelProperty(value="异常信息")
private String errorMsg;
@TableField(value = "shipper")
@ApiModelProperty(value="发货方")
private String shipper;
}
}

@ -1,6 +1,7 @@
package com.glxp.api.req.basic;
import com.glxp.api.entity.basic.BasicSkPrescribeEntity;
import com.glxp.api.entity.collect.IoCollectOrder;
import com.glxp.api.res.basic.BasicSkSickerResponse;
import lombok.Data;
@ -10,6 +11,15 @@ import java.util.List;
@Data
public class SickerPrescribeSaveRequest {
private Integer stauts;
private String billNo;
private String busType;
private String endTime;
private String startTime;
@NotNull(message = "处方列表不可以为空!")
private List<BasicSkPrescribeEntity> list;
private List<IoCollectOrder> list;
}

@ -199,7 +199,7 @@ public class FilterOrderRequest extends ListPageRequest {
private String unionRemark;
private String remark;
private String keyWords;
private String keywords;
private Integer confirmStatus;
private Boolean filterSelected;
private List<String> inOrders;

@ -134,6 +134,10 @@ public class IoSplitCodeRequest extends ListPageRequest {
*
*/
private Long workPlaceCode;
/**
*
*/
private String keywords;

@ -89,6 +89,7 @@ public class IoCollectOrderResponse {
private String tagMsg;
// 业务类型
private String busTypeName;
private String fromTypeName;
private String fromCorpName;
@ -170,9 +171,13 @@ public class IoCollectOrderResponse {
private String errorMsg;
/**
*
*
*/
private String actionName;
/**
*
*/
private String shipper;
public String getFromName() {

@ -521,6 +521,10 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
List<IoCollectOrderBiz> bizList = collectOrder.getBizList();
if (CollUtil.isNotEmpty(bizList)) {
//先清空 原来的biz
String billNo = collectOrder.getBillNo();
collectOrderBizOriginService.remove(new LambdaUpdateWrapper<IoCollectOrderBizOrigin>().eq(IoCollectOrderBizOrigin::getOrderIdFk,billNo));
for (IoCollectOrderBiz collectOrderBiz : bizList) {
if (collectOrderBiz.getRelId() != null) {
UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectByRelId(collectOrderBiz.getRelId() + "");

@ -7,14 +7,17 @@ import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.dao.basic.BasicProductsDao;
import com.glxp.api.dao.basic.SysWorkplaceDocumentDao;
import com.glxp.api.entity.basic.BasicSkPrescribeEntity;
import com.glxp.api.entity.basic.BasicSkPrescribeItemEntity;
import com.glxp.api.entity.basic.SysWorkplaceDocumentEntity;
import com.glxp.api.dao.basic.UdiRelevanceDao;
import com.glxp.api.entity.basic.*;
import com.glxp.api.entity.collect.IoCollectOrder;
import com.glxp.api.entity.collect.IoCollectOrderBiz;
import com.glxp.api.entity.collect.IoCollectOrderBizOrigin;
import com.glxp.api.entity.collect.IoCollectOrderOrigin;
import com.glxp.api.exception.JsonException;
import com.glxp.api.http.ErpBasicClient;
import com.glxp.api.req.basic.GetSickPrescribeRequest;
@ -25,12 +28,14 @@ import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.basic.BasicSkPrescribeResponse;
import com.glxp.api.res.basic.SysWorkplaceDocumentResponse;
import com.glxp.api.service.basic.*;
import com.glxp.api.util.BeanCopyUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
@ -57,6 +62,14 @@ public class IoCollectOriginService {
private SysWorkplaceDocumentDao sysWorkplaceDocumentDao;
@Resource
private SysWorkplaceDocumentService sysWorkplaceDocumentService;
@Resource
private IoCollectOrderOriginService collectOrderOriginService;
@Resource
private IoCollectOrderBizOriginService collectOrderBizOriginService;
@Resource
private UdiRelevanceDao udiRelevanceDao;
@Resource
private BasicProductsDao basicProductsDao;
public BaseResponse downloadOrderV2(CollectOrderRequest collectOrderRequest) {
//条件
@ -86,7 +99,7 @@ public class IoCollectOriginService {
* @param collectOrderRequest
*/
@Transactional(rollbackFor = Exception.class)
public void errorHandle(CollectOrderRequest collectOrderRequest) {
public BaseResponse errorHandle(CollectOrderRequest collectOrderRequest) {
if (StrUtil.isBlank(collectOrderRequest.getBillNo())) {
throw new JsonException(500, "单据号不能为空");
}
@ -103,7 +116,78 @@ public class IoCollectOriginService {
.eq(IoCollectOrder::getBillNo, collectOrderRequest.getBillNo())
.eq(IoCollectOrder::getTagStatus, 4));
//重新拉取
this.downloadOrderV2(collectOrderRequest);
return this.downloadOrderV2(collectOrderRequest);
}
}
@Transactional(rollbackFor = Exception.class)
public BaseResponse errorHandleSubmit(CollectOrderRequest collectOrderRequest) {
if (StrUtil.isBlank(collectOrderRequest.getBillNo())) {
throw new JsonException(500, "单据号不能为空");
}
if (collectOrderRequest.getTagStatus() != 4) {
throw new JsonException(500, "非异常单据,无需处理");
}
if (StrUtil.isBlank(collectOrderRequest.getBusType())) {
throw new JsonException(500, "单据类型不能为空");
}
String billNo = collectOrderRequest.getBillNo();
List<IoCollectOrderOrigin> thrOrderEntities = collectOrderOriginService.list(new LambdaUpdateWrapper<IoCollectOrderOrigin>().eq(IoCollectOrderOrigin::getBillNo, billNo));
List<IoCollectOrder> ioCollectOrderList = new ArrayList<>();
if (CollUtil.isNotEmpty(thrOrderEntities)) {
for (IoCollectOrderOrigin thrOrder : thrOrderEntities) {
IoCollectOrder ioCollectOrder = new IoCollectOrder();
BeanUtil.copyProperties(thrOrder, ioCollectOrder);
StringBuilder errorMsg = new StringBuilder();
List<IoCollectOrderBiz> bizList = new ArrayList<>();
List<IoCollectOrderBizOrigin> list = collectOrderBizOriginService.list(new LambdaUpdateWrapper<IoCollectOrderBizOrigin>().eq(IoCollectOrderBizOrigin::getOrderIdFk, thrOrder.getBillNo()));
for (IoCollectOrderBizOrigin entity : list) {
IoCollectOrderBiz collectOrderBiz = new IoCollectOrderBiz();
BeanUtil.copyProperties(entity, collectOrderBiz);
UdiRelevanceEntity basicUdirelEntity = udiRelevanceDao.selectOne(new LambdaQueryWrapper<UdiRelevanceEntity>().eq(UdiRelevanceEntity::getMainId, entity.getThrCode()));
if (basicUdirelEntity != null) {
collectOrderBiz.setRelId(basicUdirelEntity.getId());
BasicProductsEntity basicProductsEntity = basicProductsDao.selectOne(new LambdaQueryWrapper<BasicProductsEntity>().eq(BasicProductsEntity::getUuid, basicUdirelEntity.getUuid()).last("limit 1"));
if (StrUtil.isEmpty(basicProductsEntity.getNameCode())) {
errorMsg.append(entity.getCpmctymc()).append("字典未对照").append(";");
}
} else {
errorMsg.append(entity.getCpmctymc()).append("字典未对照").append(";");
}
collectOrderBiz.setTagStatus(1);
collectOrderBiz.setUnTagCount(0);
bizList.add(collectOrderBiz);
}
if (StrUtil.isNotBlank(errorMsg)) {
thrOrder.setTagStatus(4);
thrOrder.setErrorMsg(errorMsg.toString());
collectOrderOriginService.updateById(thrOrder);
List<IoCollectOrderBizOrigin> ioCollectOrderBizOrigins = BeanCopyUtils.copyList(bizList, IoCollectOrderBizOrigin.class);
collectOrderBizOriginService.updateBatchById(ioCollectOrderBizOrigins);
}else {
thrOrder.setTagStatus(0);
collectOrderOriginService.updateById(thrOrder);
List<IoCollectOrderBizOrigin> ioCollectOrderBizOrigins = BeanCopyUtils.copyList(bizList, IoCollectOrderBizOrigin.class);
collectOrderBizOriginService.updateBatchById(ioCollectOrderBizOrigins);
collectOrderBizService.saveBatch(bizList);
ioCollectOrder.setFromType("HIS系统");
ioCollectOrder.setWorkPlaceCode(collectOrderRequest.getWorkPlaceCode());
ioCollectOrder.setCreateTime(new Date());
ioCollectOrder.setCreateUser(collectOrderRequest.getCreateUser());
ioCollectOrder.setBackupOrderRemark1(null);
ioCollectOrder.setUpdateTime(new Date());
ioCollectOrder.setSplitStatus(0);
ioCollectOrder.setTagStatus(0);
collectOrderService.save(ioCollectOrder);
}
}
}
return ResultVOUtils.success("提交成功");
}
}

@ -54,9 +54,9 @@
<if test="productType != null and productType != ''">
AND io.productType = #{productType}
</if>
<if test="keyWords != null and keyWords != ''">
AND (aw.name like concat('%', #{keyWords}, '%') or bc.name like concat('%', #{keyWords}, '%'))
</if>
<!-- <if test="keyWords != null and keyWords != ''">-->
<!-- AND (aw.name like concat('%', #{keyWords}, '%') or bc.name like concat('%', #{keyWords}, '%'))-->
<!-- </if>-->
<if test="corpName != null and corpName != ''">
AND (SELECT NAME FROM auth_warehouse aw2 WHERE aw2.CODE = io.fromInvCode) like
@ -191,6 +191,13 @@
<if test="fromPatientCode != null">
AND io.fromPatientCode = #{fromPatientCode}
</if>
<if test="keywords != null and keywords != ''">
and (io.billNo like concat('%', #{keywords}, '%')
or io.fromCorp like concat('%', #{keywords}, '%')
or io.workPlaceCode like concat('%', #{keywords}, '%')
or io.busType like concat('%', #{keywords}, '%')
or io.fromType like concat('%', #{keywords}, '%'))
</if>
<if test="supInoivceSearch != null">
<if test="invoiceActions1 != null and invoiceActions2 == null">

@ -39,6 +39,13 @@
<if test=" workPlaceCode != null">
AND workPlaceCode = #{workPlaceCode}
</if>
<if test="keywords != null and keywords != ''">
and (isc.workPlaceCode like concat('%', #{keywords}, '%')
or isc.nameCode like concat('%', #{keywords}, '%')
or isc.batchNo like concat('%', #{keywords}, '%')
or isc.supId like concat('%', #{keywords}, '%')
or isc.invCode like concat('%', #{keywords}, '%'))
</if>
</where>
</select>
</mapper>

@ -4354,6 +4354,7 @@ CALL Pro_Temp_ColumnWork('thr_products', 'prepnUnit',
1);
CALL Pro_Temp_ColumnWork('io_collect_order', 'errorMsg',
'varchar(1024) NULL COMMENT ''异常信息''',
1);
@ -4382,3 +4383,7 @@ CALL Pro_Temp_ColumnWork('io_collect_order_biz', 'tempSplitCount',
'int NULL DEFAULT NULL COMMENT ''临时拆零存量''',
1);
CALL Pro_Temp_ColumnWork('io_collect_order_origin', 'shipper',
'varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT ''发货方''',
1);

Loading…
Cancel
Save