新增协调平台追溯查询

dev
anthonywj 2 years ago
parent 0618f9b317
commit bec91b93ca

@ -1,6 +1,7 @@
package com.glxp.api.controller.inout;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.github.pagehelper.PageInfo;
@ -15,15 +16,20 @@ import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.entity.inout.IoOrderDetailBizEntity;
import com.glxp.api.entity.inout.IoOrderDetailCodeEntity;
import com.glxp.api.entity.inout.IoOrderEntity;
import com.glxp.api.entity.system.CompanyEntity;
import com.glxp.api.entity.system.SysPdfTemplateRelevanceStatemenEntity;
import com.glxp.api.entity.system.SystemPDFTemplateEntity;
import com.glxp.api.req.inout.CptTraceRequest;
import com.glxp.api.req.inout.FilterOrderDetailResultRequest;
import com.glxp.api.req.inout.FilterOrderRequest;
import com.glxp.api.req.inout.InspectionPDFTemplateRequest;
import com.glxp.api.res.inout.CptTraceOrderResponse;
import com.glxp.api.res.inout.CptTraceResultResponse;
import com.glxp.api.res.inout.IoOrderDetailResultResponse;
import com.glxp.api.service.auth.CustomerService;
import com.glxp.api.service.basic.IBasicBussinessTypeService;
import com.glxp.api.service.inout.*;
import com.glxp.api.service.system.CompanyService;
import com.glxp.api.service.system.SystemPDFModuleService;
import com.glxp.api.service.system.SystemPDFTemplateService;
import com.glxp.api.util.JasperUtils;
@ -98,8 +104,8 @@ public class IoOrderDetailResultController extends BaseController {
return ResultVOUtils.success("");
}
orderDetailResultRequest.setActions(actions);
AuthAdmin authAdmin= customerService.getUserBean();
if (StrUtil.isBlank(orderDetailResultRequest.getInvCode())){
AuthAdmin authAdmin = customerService.getUserBean();
if (StrUtil.isBlank(orderDetailResultRequest.getInvCode())) {
orderDetailResultRequest.setInvCode(authAdmin.getLocInvCode());
}
List<IoOrderDetailResultResponse> list = orderDetailResultService.filterOrderList(orderDetailResultRequest);
@ -196,8 +202,8 @@ public class IoOrderDetailResultController extends BaseController {
*/
@AuthRuleAnnotation("")
@PostMapping("/udiwms/inout/resultDetail/filterOrderPrint")
public BaseResponse filterOrderPrint(@RequestBody FilterOrderDetailResultRequest filterOrderDetailResultRequest, HttpServletRequest request, HttpServletResponse response) throws JRException, IOException {
List<IoOrderDetailResultResponse> ioOrderDetailResultResponseList=new ArrayList<>();
public BaseResponse filterOrderPrint(@RequestBody FilterOrderDetailResultRequest filterOrderDetailResultRequest, HttpServletRequest request, HttpServletResponse response) throws JRException, IOException {
List<IoOrderDetailResultResponse> ioOrderDetailResultResponseList = new ArrayList<>();
SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(filterOrderDetailResultRequest.getTemplateId());
//打印单号标签
Map<String, Object> data = new HashMap<>(1);
@ -205,9 +211,9 @@ public class IoOrderDetailResultController extends BaseController {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");//定义新的日期格式
//按选入打印
if(filterOrderDetailResultRequest.getList() != null && filterOrderDetailResultRequest.getList().size()>0){
ioOrderDetailResultResponseList =filterOrderDetailResultRequest.getList();
}else{
if (filterOrderDetailResultRequest.getList() != null && filterOrderDetailResultRequest.getList().size() > 0) {
ioOrderDetailResultResponseList = filterOrderDetailResultRequest.getList();
} else {
//按查询打印
FilterOrderRequest filterOrderRequest = new FilterOrderRequest();
filterOrderRequest.setVueType(filterOrderDetailResultRequest.getActionType());
@ -227,7 +233,7 @@ public class IoOrderDetailResultController extends BaseController {
}
}
}
int i=1;
int i = 1;
for (IoOrderDetailResultResponse ioOrderDetailResultResponse : ioOrderDetailResultResponseList) {
//组装数据
Map<String, Object> ioOrderDetailResultData = new HashMap<>();
@ -244,7 +250,7 @@ public class IoOrderDetailResultController extends BaseController {
ioOrderDetailResultData.put("spec", ioOrderDetailResultResponse.getSpec() == null ? ' ' : ioOrderDetailResultResponse.getSpec());
ioOrderDetailResultData.put("price", ioOrderDetailResultResponse.getPrice() == null ? ' ' : ioOrderDetailResultResponse.getPrice());
ioOrderDetailResultData.put("count", ioOrderDetailResultResponse.getCount());
ioOrderDetailResultData.put("reCount",ioOrderDetailResultResponse.getReCount());
ioOrderDetailResultData.put("reCount", ioOrderDetailResultResponse.getReCount());
ioOrderDetailResultData.put("inCount", ioOrderDetailResultResponse.getInCount());
ioOrderDetailResultData.put("acceptCount", ioOrderDetailResultResponse.getAcceptCount());
ioOrderDetailResultData.put("fromCorpName", ioOrderDetailResultResponse.getFromCorpName() == null ? ' ' : ioOrderDetailResultResponse.getFromCorpName());
@ -257,10 +263,58 @@ public class IoOrderDetailResultController extends BaseController {
data.put("data", list);
String param = JSON.toJSONString(data);
JasperUtils.jasperReport(request, response, param, filePath+"pdf/template/"+systemPDFTemplateEntity.getPath(), "pdf");
JasperUtils.jasperReport(request, response, param, filePath + "pdf/template/" + systemPDFTemplateEntity.getPath(), "pdf");
return ResultVOUtils.success();
}
@Resource
CompanyService companyService;
/**
* UDI
*/
@PostMapping("/udiCpt/inout/trace/search")
public BaseResponse cptTraceOrder(@RequestBody CptTraceRequest cptTraceRequest) {
if (StrUtil.isEmpty(cptTraceRequest.getBatchNo()) || CollUtil.isEmpty(cptTraceRequest.getDiList())) {
return ResultVOUtils.error(500, "参数有误!");
}
CompanyEntity authCompany = companyService.findCompany();
List<CptTraceOrderResponse> cptTraceOrderResponses = orderDetailResultService.cptTrace(cptTraceRequest);
List<CptTraceResultResponse> cptTraceResultResponses = new ArrayList<>();
if (CollUtil.isNotEmpty(cptTraceOrderResponses)) {
for (CptTraceOrderResponse cptTraceOrderResponse : cptTraceOrderResponses) {
CptTraceResultResponse cptTraceResultResponse = new CptTraceResultResponse();
cptTraceResultResponse.setBillNo(cptTraceOrderResponse.getBillNo());
cptTraceResultResponse.setBillDate(DateUtil.formatDate(cptTraceOrderResponse.getCreateTime()));
cptTraceResultResponse.setBillType(cptTraceOrderResponse.getBillType());
if (cptTraceOrderResponse.getMainAction().equals(ConstantType.TYPE_OUT)) {
if (StrUtil.isNotEmpty(cptTraceOrderResponse.getFromInvCode()))
continue;
cptTraceResultResponse.setInOutType(2);
cptTraceResultResponse.setFromCorp(authCompany.getName());
cptTraceResultResponse.setFromCorpCreditNum(authCompany.getCreditCode());
//往来单位为病人
if (cptTraceOrderResponse.getCorpType() == 1 && cptTraceOrderResponse.getOutType() == 1) {
cptTraceResultResponse.setToUserInfo(cptTraceOrderResponse.getFromCorpName());
} else {
cptTraceResultResponse.setToCorp(cptTraceOrderResponse.getFromCorpName());
cptTraceResultResponse.setToCorpCreditNum(cptTraceOrderResponse.getCreditNo());
}
} else {
cptTraceResultResponse.setInOutType(1);
cptTraceResultResponse.setFromCorp(cptTraceOrderResponse.getFromCorpName());
cptTraceResultResponse.setFromCorpCreditNum(cptTraceOrderResponse.getCreditNo());
cptTraceResultResponse.setToCorp(authCompany.getName());
cptTraceResultResponse.setToCorpCreditNum(authCompany.getCreditCode());
}
cptTraceResultResponses.add(cptTraceResultResponse);
}
}
return ResultVOUtils.success(cptTraceResultResponses);
}
}

@ -2,7 +2,9 @@ package com.glxp.api.dao.inout;
import com.glxp.api.dao.BaseMapperPlus;
import com.glxp.api.entity.inout.IoOrderDetailResultEntity;
import com.glxp.api.req.inout.CptTraceRequest;
import com.glxp.api.req.inout.FilterOrderDetailResultRequest;
import com.glxp.api.res.inout.CptTraceOrderResponse;
import com.glxp.api.res.inout.IoOrderDetailResultResponse;
import io.lettuce.core.dynamic.annotation.Param;
@ -32,4 +34,6 @@ public interface IoOrderDetailResultDao extends BaseMapperPlus<IoOrderDetailBizD
* @return
*/
List<IoOrderDetailResultEntity> selectStatDataByTime(@Param("list") List<String> orderIdFk);
List<CptTraceOrderResponse> cptTrace(CptTraceRequest cptTraceRequest);
}

@ -0,0 +1,89 @@
package com.glxp.api.req.inout;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
*
*/
@Data
public class CptTraceRequest {
/**
* UDI
*/
private String udiCode;
/**
* ID
*/
private Long produdctRecordIdFk;
/**
* 123
*/
private Integer taskType;
/**
* DIDI
* DI
*/
private List<String> diList;
/**
* ID
*/
private Long companyIdFk;
/**
*
*/
private String ylqxzcrbarmc;
/**
*
*/
private String creditNum;
/**
*
*/
private String cpmctymc;
/**
*
*/
private String ggxh;
/**
*
*/
private String batchNo;
/**
*
*/
private String produceDate;
/**
*
*/
private String expireDate;
/**
*
*/
private String serialNo;
/**
*
*/
private Date createTime;
/**
*
*/
private Date updateTime;
}

@ -0,0 +1,21 @@
package com.glxp.api.res.inout;
import lombok.Data;
import java.util.Date;
@Data
public class CptTraceOrderResponse {
private String billNo;
private Date createTime;
private String mainAction;
private String billType;
private String fromCorpName;
private String creditNo;
private String action;
private String fromInvCode;
private Integer outType;
private Integer corpType;
private Integer count;
}

@ -0,0 +1,146 @@
package com.glxp.api.res.inout;
import cn.hutool.core.util.StrUtil;
import lombok.Data;
import java.util.Date;
@Data
public class CptTraceResultResponse {
private Long id;
/**
*
*/
private String billNo;
/**
*
*/
private String billDate;
/**
* 1:2
*/
private Integer inOutType;
/**
*
*/
private String billType;
/**
*
*/
private String fromCorp;
/**
*
*/
private String fromCorpCreditNum;
/**
*
*/
private String toCorp;
/**
*
*/
private String toCorpCreditNum;
private String toUserInfo;
/**
*
*/
private Long createUser;
/**
* ID
*/
private Long companyIdFk;
/**
*
*/
private String companyName;
/**
*
*/
private String companyCertNum;
/**
*
*/
private Integer clientType;
/**
* 退退
*/
private String returnReason;
/**
*
*/
private String destoryReason;
/**
*
*/
private String excuseUser;
/**
*
*/
private String excuseCode;
/**
*
*/
private String superviserUser;
/**
*
*/
private String superviserCode;
/**
* ID
*/
private Long uploadUser;
/**
*
*/
private String remark;
/**
*
*/
private Date updateTime;
//关联信息
private String cpmctymc;
private String nameCode;
private String ggxh;
private String ylqxzcrbarmc;
private String batchNo;
private String produceDate;
private String expireDate;
private String serialNo;
private String udiCode;
private String zczbhhzbapzbh;
private String recordCode;
private Integer count;
public String getToCorp() {
if (StrUtil.isEmpty(toCorp))
return toUserInfo;
return toCorp;
}
}

@ -2,7 +2,9 @@ package com.glxp.api.service.inout;
import com.glxp.api.entity.inout.IoOrderDetailCodeEntity;
import com.glxp.api.entity.inout.IoOrderDetailResultEntity;
import com.glxp.api.req.inout.CptTraceRequest;
import com.glxp.api.req.inout.FilterOrderDetailResultRequest;
import com.glxp.api.res.inout.CptTraceOrderResponse;
import com.glxp.api.res.inout.IoOrderDetailResultResponse;
import java.util.List;
@ -24,4 +26,5 @@ public interface IoOrderDetailResultService {
List<IoOrderDetailResultResponse> filterOrderList(FilterOrderDetailResultRequest orderDetailResultRequest);
List<CptTraceOrderResponse> cptTrace(CptTraceRequest cptTraceRequest);
}

@ -6,7 +6,9 @@ import com.github.pagehelper.PageHelper;
import com.glxp.api.dao.inout.IoOrderDetailResultDao;
import com.glxp.api.entity.inout.IoOrderDetailCodeEntity;
import com.glxp.api.entity.inout.IoOrderDetailResultEntity;
import com.glxp.api.req.inout.CptTraceRequest;
import com.glxp.api.req.inout.FilterOrderDetailResultRequest;
import com.glxp.api.res.inout.CptTraceOrderResponse;
import com.glxp.api.res.inout.IoOrderDetailResultResponse;
import com.glxp.api.service.inout.IoOrderDetailResultService;
import org.springframework.stereotype.Service;
@ -72,4 +74,8 @@ public class IoOrderDetailResultServiceImpl implements IoOrderDetailResultServic
return orderDetailResultDao.filterOrderList(orderDetailResultRequest);
}
@Override
public List<CptTraceOrderResponse> cptTrace(CptTraceRequest cptTraceRequest) {
return orderDetailResultDao.cptTrace(cptTraceRequest);
}
}

@ -4,7 +4,7 @@ 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_zyy?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
username: root
password: 123456
hikari:

@ -108,4 +108,35 @@
</if>
</where>
</select>
<select id="cptTrace" parameterType="com.glxp.api.req.inout.CptTraceRequest"
resultType="com.glxp.api.res.inout.CptTraceOrderResponse">
select io.billNo,
io.createTime,
io.mainAction,
bbt.`name` billType,
basic_corp.`name` fromCorpName,
basic_corp.creditNo,
basic_corp.outType,
basic_corp.corpType,
io.action,
io.fromInvCode
from io_order_detail_result iodr
INNER JOIN io_order io on iodr.orderIdFk = io.billNo
inner join basic_corp on io.fromCorp = basic_corp.erpId
INNER JOIN basic_bussiness_type bbt on io.action = bbt.action
<where>
and bbt.inStock = true
<if test="batchNo != null and batchNo != ''">
AND batchNo = #{batchNo}
</if>
<if test="diList != null and diList.size() != 0">
AND iodr.`nameCode` in
<foreach collection="diList" index="index" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
</where>
</select>
</mapper>

Loading…
Cancel
Save