workplace
zane 10 months ago
parent bbdbb1ac0e
commit b2b34206da

@ -22,6 +22,6 @@ public class IoCollectOriginController {
@PostMapping("/udiwms/basic/collect/origin/order/download")
public BaseResponse downloadOrder(@RequestBody CollectOrderRequest collectOrderRequest) {
return collectOriginService.downloadOrder(collectOrderRequest);
return collectOriginService.downloadOrderV2(collectOrderRequest);
}
}

@ -233,7 +233,7 @@ public class IoCodeTempController extends BaseController {
CollectOrderRequest collectOrderRequest = new CollectOrderRequest();
collectOrderRequest.setBusType("YPCF002");
collectOrderRequest.setBillNo(code);
BaseResponse baseResponse = collectOriginService.downloadOrder(collectOrderRequest);
BaseResponse baseResponse = collectOriginService.downloadOrderV2(collectOrderRequest);
if (ResultEnum.SUCCESS.getCode() == baseResponse.getCode()){
collectOrder = collectOrderService.getByBillNo(code);
//=============================================//

@ -218,6 +218,9 @@ public class IoCollectOrder implements Serializable {
@TableField(exist = false)
private List<CollectOrderBizResponse> collectOrderBizResponseList;
@TableField(exist = false)
private List<IoCollectOrderBiz> bizList;
/**
*(1.,2.,3.)

File diff suppressed because one or more lines are too long

@ -18,4 +18,9 @@ public class GetSickPrescribeRequest extends ListPageRequest {
* )
*/
private String adNum;
/**
*
*/
private Long workPlaceCode;
}

@ -444,6 +444,84 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
}
}
/**
*
* @param ioCollectOrderList
* @param addr
*/
public void importPrescribe(List<IoCollectOrder> ioCollectOrderList,String addr) {
//下载处方
if (CollUtil.isNotEmpty(ioCollectOrderList)){
for (IoCollectOrder collectOrder : ioCollectOrderList) {
if (collectOrderMapper.exists(new LambdaQueryWrapper<IoCollectOrder>().eq(IoCollectOrder::getBillNo, collectOrder.getBillNo()))) {
continue;
}
SysWorkplaceDocumentEntity sysWorkplaceDocumentEntity = sysWorkplaceDocumentService.findByBusType(addr);
if (sysWorkplaceDocumentEntity == null){
continue;
}
if(collectOrder.getWorkPlaceCode() == null){
//自动分配工位
final Long[] defaultWorkplace = {null};
List<SysWorkplaceResponse> sysWorkplaces = sysWorkplaceService.getAllByBusType(addr);
if (CollUtil.isNotEmpty(sysWorkplaces)) {
if (sysWorkplaces.size() == 1) {
defaultWorkplace[0] = sysWorkplaces.get(0).getWorkplaceId();
} else {
List<SysWorkplaceResponse> addWorkplace = new ArrayList<>();
for (SysWorkplaceResponse sysWorkplace : sysWorkplaces) {
//获取是否有正在处理的工位
List<IoCollectOrder> collectOrderList1 = collectOrderMapper.selectList(new LambdaQueryWrapper<IoCollectOrder>()
.eq(IoCollectOrder::getWorkPlaceCode, sysWorkplace.getWorkplaceId()).in(IoCollectOrder::getTagStatus, -1, 1, 2));
sysWorkplace.setOrderCount(collectOrderList1.size());
if (IntUtil.value(sysWorkplace.getOrderCount()) > 0) {
addWorkplace.add(sysWorkplace);
}
}
if (addWorkplace.size() > 0) {
Optional<SysWorkplaceResponse> minCountObject = addWorkplace.stream()
.min((o1, o2) -> Integer.compare(o1.getOrderCount(), o2.getOrderCount()));
minCountObject.ifPresent(sysWorkplace -> defaultWorkplace[0] = sysWorkplace.getWorkplaceId());
} else {
defaultWorkplace[0] = sysWorkplaces.get(0).getWorkplaceId();
}
}
}
collectOrder.setWorkPlaceCode(defaultWorkplace[0]);
}
collectOrder.setBusType(sysWorkplaceDocumentEntity.getDocumentTypeCode());
collectOrder.setOrderCirType(sysWorkplaceDocumentEntity.getOrderCirType());
if (collectOrder.getWorkPlaceCode() != null) {
collectOrder.setTagStatus(1);
}
this.save(collectOrder);
List<IoCollectOrderBiz> bizList = collectOrder.getBizList();
if (CollUtil.isNotEmpty(bizList)){
for(IoCollectOrderBiz collectOrderBiz : bizList){
UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectByRelId(collectOrderBiz.getRelId() + "");
if (udiRelevanceResponse != null) {
collectOrderBiz.setYbbm(udiRelevanceResponse.getYbbm());
collectOrderBiz.setPayFeeCode(udiRelevanceResponse.getPayFeeCode());
collectOrderBiz.setNameCode(udiRelevanceResponse.getNameCode());
if (IntUtil.value(udiRelevanceResponse.getProductsType()) == 2) {
collectOrderBiz.setGgxh(udiRelevanceResponse.getBzgg());
collectOrderBiz.setMeasureUnit(udiRelevanceResponse.getPrepnUnit());
}
}
}
collectOrderBizService.saveBatch(bizList);
}
if (IntUtil.value(sysWorkplaceDocumentEntity.getAutoTag()) == 1 && IntUtil.value(collectOrder.getTagStatus()) == 1) {
splitFifoCodeService.lockInventoryByOrder(collectOrder.getBillNo(), 1);
}
}
}
}
@Transactional(rollbackFor = Exception.class)
public void removeCode(DeleteTageCodeRequest deleteTageCodeRequest) {
Integer delType = deleteTageCodeRequest.getDelType();

@ -3,19 +3,20 @@ package com.glxp.api.service.collect;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.IdUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.entity.basic.BasicSkPrescribeDiEntity;
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.http.ErpBasicClient;
import com.glxp.api.req.basic.GetSickPrescribeRequest;
import com.glxp.api.req.collect.CollectOrderRequest;
import com.glxp.api.req.inout.FilterOrderRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.basic.BasicSkPrescribeResponse;
import com.glxp.api.service.basic.BasicSkPrescirbeDetailService;
import com.glxp.api.service.basic.BasicSkPrescribeService;
import com.glxp.api.service.basic.*;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@ -31,9 +32,12 @@ public class IoCollectOriginService {
@Resource
private ErpBasicClient erpBasicClient;
@Resource
BasicSkPrescribeService basicSkPrescribeService;
private BasicSkPrescribeService basicSkPrescribeService;
@Resource
BasicSkPrescirbeDetailService basicSkPrescirbeDetailService;
private BasicSkPrescirbeDetailService basicSkPrescirbeDetailService;
@Resource
private IoCollectOrderService ioCollectOrderService;
@Resource
IoCollectOrderService collectOrderService;
@ -77,4 +81,24 @@ public class IoCollectOriginService {
return ResultVOUtils.error("下载失败");
}
public BaseResponse downloadOrderV2(CollectOrderRequest collectOrderRequest) {
//拉取药品处方
if (collectOrderRequest.getBusType().equals("YPCF002")) {
GetSickPrescribeRequest getSickPrescribeRequest = new GetSickPrescribeRequest();
getSickPrescribeRequest.setPage(1);
getSickPrescribeRequest.setLimit(100);
getSickPrescribeRequest.setCode(collectOrderRequest.getBillNo());
getSickPrescribeRequest.setThirdSys("thirdId");
getSickPrescribeRequest.setWorkPlaceCode(collectOrderRequest.getWorkPlaceCode());
BaseResponse<PageSimpleResponse<IoCollectOrder>> baseResponse = erpBasicClient.getPrescribeV2(getSickPrescribeRequest);
if (baseResponse.getCode() == 20000) {
List<IoCollectOrder> list = baseResponse.getData().getList();
collectOrderService.importPrescribe(list,collectOrderRequest.getBusType());
return ResultVOUtils.success("下载成功");
}
}
return ResultVOUtils.error("下载失败");
}
}

Loading…
Cancel
Save