新增协调平台追溯查询

dev
anthonywj 2 years ago
parent 0618f9b317
commit bec91b93ca

@ -1,6 +1,7 @@
package com.glxp.api.controller.inout; package com.glxp.api.controller.inout;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.github.pagehelper.PageInfo; 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.IoOrderDetailBizEntity;
import com.glxp.api.entity.inout.IoOrderDetailCodeEntity; import com.glxp.api.entity.inout.IoOrderDetailCodeEntity;
import com.glxp.api.entity.inout.IoOrderEntity; 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.SysPdfTemplateRelevanceStatemenEntity;
import com.glxp.api.entity.system.SystemPDFTemplateEntity; 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.FilterOrderDetailResultRequest;
import com.glxp.api.req.inout.FilterOrderRequest; import com.glxp.api.req.inout.FilterOrderRequest;
import com.glxp.api.req.inout.InspectionPDFTemplateRequest; 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.res.inout.IoOrderDetailResultResponse;
import com.glxp.api.service.auth.CustomerService; import com.glxp.api.service.auth.CustomerService;
import com.glxp.api.service.basic.IBasicBussinessTypeService; import com.glxp.api.service.basic.IBasicBussinessTypeService;
import com.glxp.api.service.inout.*; 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.SystemPDFModuleService;
import com.glxp.api.service.system.SystemPDFTemplateService; import com.glxp.api.service.system.SystemPDFTemplateService;
import com.glxp.api.util.JasperUtils; import com.glxp.api.util.JasperUtils;
@ -98,8 +104,8 @@ public class IoOrderDetailResultController extends BaseController {
return ResultVOUtils.success(""); return ResultVOUtils.success("");
} }
orderDetailResultRequest.setActions(actions); orderDetailResultRequest.setActions(actions);
AuthAdmin authAdmin= customerService.getUserBean(); AuthAdmin authAdmin = customerService.getUserBean();
if (StrUtil.isBlank(orderDetailResultRequest.getInvCode())){ if (StrUtil.isBlank(orderDetailResultRequest.getInvCode())) {
orderDetailResultRequest.setInvCode(authAdmin.getLocInvCode()); orderDetailResultRequest.setInvCode(authAdmin.getLocInvCode());
} }
List<IoOrderDetailResultResponse> list = orderDetailResultService.filterOrderList(orderDetailResultRequest); List<IoOrderDetailResultResponse> list = orderDetailResultService.filterOrderList(orderDetailResultRequest);
@ -196,8 +202,8 @@ public class IoOrderDetailResultController extends BaseController {
*/ */
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@PostMapping("/udiwms/inout/resultDetail/filterOrderPrint") @PostMapping("/udiwms/inout/resultDetail/filterOrderPrint")
public BaseResponse filterOrderPrint(@RequestBody FilterOrderDetailResultRequest filterOrderDetailResultRequest, HttpServletRequest request, HttpServletResponse response) throws JRException, IOException { public BaseResponse filterOrderPrint(@RequestBody FilterOrderDetailResultRequest filterOrderDetailResultRequest, HttpServletRequest request, HttpServletResponse response) throws JRException, IOException {
List<IoOrderDetailResultResponse> ioOrderDetailResultResponseList=new ArrayList<>(); List<IoOrderDetailResultResponse> ioOrderDetailResultResponseList = new ArrayList<>();
SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(filterOrderDetailResultRequest.getTemplateId()); SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(filterOrderDetailResultRequest.getTemplateId());
//打印单号标签 //打印单号标签
Map<String, Object> data = new HashMap<>(1); Map<String, Object> data = new HashMap<>(1);
@ -205,9 +211,9 @@ public class IoOrderDetailResultController extends BaseController {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");//定义新的日期格式 SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");//定义新的日期格式
//按选入打印 //按选入打印
if(filterOrderDetailResultRequest.getList() != null && filterOrderDetailResultRequest.getList().size()>0){ if (filterOrderDetailResultRequest.getList() != null && filterOrderDetailResultRequest.getList().size() > 0) {
ioOrderDetailResultResponseList =filterOrderDetailResultRequest.getList(); ioOrderDetailResultResponseList = filterOrderDetailResultRequest.getList();
}else{ } else {
//按查询打印 //按查询打印
FilterOrderRequest filterOrderRequest = new FilterOrderRequest(); FilterOrderRequest filterOrderRequest = new FilterOrderRequest();
filterOrderRequest.setVueType(filterOrderDetailResultRequest.getActionType()); filterOrderRequest.setVueType(filterOrderDetailResultRequest.getActionType());
@ -227,7 +233,7 @@ public class IoOrderDetailResultController extends BaseController {
} }
} }
} }
int i=1; int i = 1;
for (IoOrderDetailResultResponse ioOrderDetailResultResponse : ioOrderDetailResultResponseList) { for (IoOrderDetailResultResponse ioOrderDetailResultResponse : ioOrderDetailResultResponseList) {
//组装数据 //组装数据
Map<String, Object> ioOrderDetailResultData = new HashMap<>(); 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("spec", ioOrderDetailResultResponse.getSpec() == null ? ' ' : ioOrderDetailResultResponse.getSpec());
ioOrderDetailResultData.put("price", ioOrderDetailResultResponse.getPrice() == null ? ' ' : ioOrderDetailResultResponse.getPrice()); ioOrderDetailResultData.put("price", ioOrderDetailResultResponse.getPrice() == null ? ' ' : ioOrderDetailResultResponse.getPrice());
ioOrderDetailResultData.put("count", ioOrderDetailResultResponse.getCount()); ioOrderDetailResultData.put("count", ioOrderDetailResultResponse.getCount());
ioOrderDetailResultData.put("reCount",ioOrderDetailResultResponse.getReCount()); ioOrderDetailResultData.put("reCount", ioOrderDetailResultResponse.getReCount());
ioOrderDetailResultData.put("inCount", ioOrderDetailResultResponse.getInCount()); ioOrderDetailResultData.put("inCount", ioOrderDetailResultResponse.getInCount());
ioOrderDetailResultData.put("acceptCount", ioOrderDetailResultResponse.getAcceptCount()); ioOrderDetailResultData.put("acceptCount", ioOrderDetailResultResponse.getAcceptCount());
ioOrderDetailResultData.put("fromCorpName", ioOrderDetailResultResponse.getFromCorpName() == null ? ' ' : ioOrderDetailResultResponse.getFromCorpName()); ioOrderDetailResultData.put("fromCorpName", ioOrderDetailResultResponse.getFromCorpName() == null ? ' ' : ioOrderDetailResultResponse.getFromCorpName());
@ -257,10 +263,58 @@ public class IoOrderDetailResultController extends BaseController {
data.put("data", list); data.put("data", list);
String param = JSON.toJSONString(data); 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(); 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.dao.BaseMapperPlus;
import com.glxp.api.entity.inout.IoOrderDetailResultEntity; 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.req.inout.FilterOrderDetailResultRequest;
import com.glxp.api.res.inout.CptTraceOrderResponse;
import com.glxp.api.res.inout.IoOrderDetailResultResponse; import com.glxp.api.res.inout.IoOrderDetailResultResponse;
import io.lettuce.core.dynamic.annotation.Param; import io.lettuce.core.dynamic.annotation.Param;
@ -32,4 +34,6 @@ public interface IoOrderDetailResultDao extends BaseMapperPlus<IoOrderDetailBizD
* @return * @return
*/ */
List<IoOrderDetailResultEntity> selectStatDataByTime(@Param("list") List<String> orderIdFk); 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.IoOrderDetailCodeEntity;
import com.glxp.api.entity.inout.IoOrderDetailResultEntity; 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.req.inout.FilterOrderDetailResultRequest;
import com.glxp.api.res.inout.CptTraceOrderResponse;
import com.glxp.api.res.inout.IoOrderDetailResultResponse; import com.glxp.api.res.inout.IoOrderDetailResultResponse;
import java.util.List; import java.util.List;
@ -24,4 +26,5 @@ public interface IoOrderDetailResultService {
List<IoOrderDetailResultResponse> filterOrderList(FilterOrderDetailResultRequest orderDetailResultRequest); 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.dao.inout.IoOrderDetailResultDao;
import com.glxp.api.entity.inout.IoOrderDetailCodeEntity; import com.glxp.api.entity.inout.IoOrderDetailCodeEntity;
import com.glxp.api.entity.inout.IoOrderDetailResultEntity; 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.req.inout.FilterOrderDetailResultRequest;
import com.glxp.api.res.inout.CptTraceOrderResponse;
import com.glxp.api.res.inout.IoOrderDetailResultResponse; import com.glxp.api.res.inout.IoOrderDetailResultResponse;
import com.glxp.api.service.inout.IoOrderDetailResultService; import com.glxp.api.service.inout.IoOrderDetailResultService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -72,4 +74,8 @@ public class IoOrderDetailResultServiceImpl implements IoOrderDetailResultServic
return orderDetailResultDao.filterOrderList(orderDetailResultRequest); return orderDetailResultDao.filterOrderList(orderDetailResultRequest);
} }
@Override
public List<CptTraceOrderResponse> cptTrace(CptTraceRequest cptTraceRequest) {
return orderDetailResultDao.cptTrace(cptTraceRequest);
}
} }

@ -4,7 +4,7 @@ server:
spring: spring:
datasource: datasource:
driver-class-name: com.p6spy.engine.spy.P6SpyDriver 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 username: root
password: 123456 password: 123456
hikari: hikari:

@ -108,4 +108,35 @@
</if> </if>
</where> </where>
</select> </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> </mapper>

Loading…
Cancel
Save