You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
udi-wms-java/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultControll...

519 lines
29 KiB
Java

package com.glxp.api.controller.inout;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.excel.EasyExcel;
import com.alibaba.fastjson.JSON;
import com.github.pagehelper.PageInfo;
import com.glxp.api.annotation.AuthRuleAnnotation;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.Constant;
import com.glxp.api.constant.ConstantType;
import com.glxp.api.controller.BaseController;
import com.glxp.api.dao.dev.DeviceInfoMapper;
import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.auth.InvWarehouseEntity;
import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.entity.inout.*;
import com.glxp.api.entity.system.CompanyEntity;
import com.glxp.api.entity.system.SysPdfTemplateRelevanceLabelEntity;
import com.glxp.api.entity.system.SysPdfTemplateRelevanceStatemenEntity;
import com.glxp.api.entity.system.SystemPDFTemplateEntity;
import com.glxp.api.entity.thrsys.ThrProductsEntity;
import com.glxp.api.req.dev.DeviceInfoDetailQuery;
import com.glxp.api.req.inout.*;
import com.glxp.api.res.inout.*;
import com.glxp.api.service.auth.CustomerService;
import com.glxp.api.service.auth.InvWarehouseService;
import com.glxp.api.service.basic.IBasicBussinessTypeService;
import com.glxp.api.service.inout.*;
import com.glxp.api.service.inout.impl.IoCodeService;
import com.glxp.api.service.inout.impl.IoOrderInvoiceService;
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.service.thrsys.ThrProductsService;
import com.glxp.api.util.BeanCopyUtils;
import com.glxp.api.util.JasperUtils;
import com.glxp.api.util.MsDateUtil;
import com.glxp.api.vo.dev.DeviceInfoVo;
import lombok.extern.slf4j.Slf4j;
import net.sf.jasperreports.engine.JRException;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.validation.BindingResult;
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 javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.math.RoundingMode;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.text.SimpleDateFormat;
import java.util.*;
/**
* 单据扫码明细查询接口
*/
@RestController
@Slf4j
public class IoOrderDetailResultController extends BaseController {
@Resource
IoOrderService orderService;
@Resource
private IoOrderDetailResultService orderDetailResultService;
@Resource
IBasicBussinessTypeService basicBussinessTypeService;
@Resource
IoCodeService codeService;
@Resource
CustomerService customerService;
@Resource
private SystemPDFTemplateService systemPDFTemplateService;
@Resource
private SystemPDFModuleService systemPDFModuleService;
@Value("${file_path}")
private String filePath;
@Resource
private ThrProductsService thrProductsService;
@Resource
private IoOrderInvoiceService ioOrderInvoiceService;
@Resource
DeviceInfoMapper deviceInfoMapper;
/**
* 查询单据扫码明细列表
*
* @param orderDetailResultRequest
* @return
*/
@AuthRuleAnnotation("")
@GetMapping("/udiwms/inout/resultDetail/filterList")
public BaseResponse filterList(FilterOrderDetailResultRequest orderDetailResultRequest) {
List<IoOrderDetailResultResponse> list = orderDetailResultService.filterList(orderDetailResultRequest);
PageInfo<IoOrderDetailResultResponse> pageInfo = new PageInfo<>(list);
return ResultVOUtils.page(pageInfo);
}
@Resource
InvWarehouseService invWarehouseService;
/**
* 查询单据扫码明细列表
*
* @param orderDetailResultRequest
* @return
*/
@AuthRuleAnnotation("")
@GetMapping("/udiwms/inout/resultDetail/filterOrderList")
public BaseResponse filterOrderList(FilterOrderDetailResultRequest orderDetailResultRequest) {
PageInfo<IoOrderDetailResultResponse> pageInfo = new PageInfo<>(getOrderResult(orderDetailResultRequest));
return ResultVOUtils.page(pageInfo);
}
public List<IoOrderDetailResultResponse> getOrderResult(FilterOrderDetailResultRequest orderDetailResultRequest) {
if (CollUtil.isNotEmpty(orderDetailResultRequest.getList())) {
return orderDetailResultRequest.getList();
}
FilterOrderRequest filterOrderRequest = new FilterOrderRequest();
filterOrderRequest.setVueType(orderDetailResultRequest.getActionType());
List<String> actions = orderService.setActions(filterOrderRequest);
if (CollUtil.isEmpty(actions)) {
return Collections.emptyList();
}
orderDetailResultRequest.setActions(actions);
AuthAdmin authAdmin = customerService.getUserBean();
if (orderDetailResultRequest.getActionType().equals(Constant.ORDER_ACTION_PRE_DETAIL)) {
InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByPreInv();
orderDetailResultRequest.setInvCode(invWarehouseEntity.getCode());
} else if (orderDetailResultRequest.getActionType().equals(Constant.ORDER_ACTION_PREIN_DETAIL)) {
InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByPreInInv();
orderDetailResultRequest.setInvCode(invWarehouseEntity.getCode());
} else if (StrUtil.isBlank(orderDetailResultRequest.getInvCode())) {
orderDetailResultRequest.setInvCode(authAdmin.getLocInvCode());
}
List<IoOrderDetailResultResponse> list = orderDetailResultService.filterOrderList(orderDetailResultRequest);
for (IoOrderDetailResultResponse orderDetailResultResponse : list) {
if (orderDetailResultResponse.getMainAction().equals(ConstantType.TYPE_OUT)) {
orderDetailResultResponse.setOutCount(orderDetailResultResponse.getReCount());
orderDetailResultResponse.setInCount(0);
} else {
orderDetailResultResponse.setOutCount(0);
orderDetailResultResponse.setInCount(orderDetailResultResponse.getReCount());
}
String fromName = orderDetailResultResponse.getFromName();
orderDetailResultResponse.setFromName(fromName);
}
return list;
}
@GetMapping("/udiwms/inout/resultDetail/exportExcel")
public void exportTemplate(FilterOrderDetailResultRequest orderDetailResultRequest, HttpServletResponse response) throws IOException {
// 模拟数据库获取数据
List<IoOrderDetailResultResponse> list = getOrderResult(orderDetailResultRequest);
List<IoOrderDetailVo> orderDetailVos = BeanUtil.copyToList(list, IoOrderDetailVo.class);
response.setCharacterEncoding(StandardCharsets.UTF_8.name());
response.setHeader("content-Type", "application/vnd.ms-excel");
response.setHeader("Content-Disposition",
"attachment;filename=" + URLEncoder.encode("出入库明细" + DateUtil.format(new Date(), "yyyy-MM-dd") + ".xlsx", StandardCharsets.UTF_8.name()));
EasyExcel.write(response.getOutputStream(), IoOrderDetailVo.class).sheet().doWrite(orderDetailVos);
}
@PostMapping("/udiwms/inout/resultDetail/selectExportExcel")
public void selectExportExcel(@RequestBody FilterOrderDetailResultRequest orderDetailResultRequest, HttpServletResponse response) throws IOException {
// 模拟数据库获取数据
List<IoOrderDetailResultResponse> list = getOrderResult(orderDetailResultRequest);
List<IoOrderDetailVo> orderDetailVos = BeanUtil.copyToList(list, IoOrderDetailVo.class);
response.setCharacterEncoding(StandardCharsets.UTF_8.name());
response.setHeader("content-Type", "application/vnd.ms-excel");
response.setHeader("Content-Disposition",
"attachment;filename=" + URLEncoder.encode("出入库明细" + DateUtil.format(new Date(), "yyyy-MM-dd") + ".xlsx", StandardCharsets.UTF_8.name()));
EasyExcel.write(response.getOutputStream(), IoOrderDetailVo.class).sheet().doWrite(orderDetailVos);
}
/**
* pda下载业务单据详情复核
*/
@AuthRuleAnnotation("")
@GetMapping(value = "/warehouse/inout/order/detail")
public BaseResponse orderDetail(FilterOrderDetailResultRequest filterErpOrderRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
if (StrUtil.isEmpty(filterErpOrderRequest.getOrderIdFk())) {
return ResultVOUtils.error(500, "单据号不能为空!");
}
IoOrderEntity orderEntity = orderService.findByBillNo(filterErpOrderRequest.getOrderIdFk());
BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction());
filterErpOrderRequest.setPage(null);
filterErpOrderRequest.setLimit(null);
List<IoOrderDetailResultResponse> list = orderDetailResultService.filterList(filterErpOrderRequest);
return ResultVOUtils.success(list);
}
@Resource
IoOrderDetailBizService orderDetailBizService;
@Resource
IoOrderDetailCodeService orderDetailCodeService;
@Resource
IoCheckInoutService checkInoutService;
@AuthRuleAnnotation("")
@GetMapping("/udiwms/inout/wditCheck/filterList")
public BaseResponse waitCheckList(FilterOrderDetailResultRequest orderDetailResultRequest) {
List<IoOrderDetailBizEntity> orderDetailBizEntities = orderDetailBizService.findByOrderId(orderDetailResultRequest.getOrderIdFk());
List<IoOrderDetailCodeEntity> orderDetailCodeEntities = orderDetailCodeService.findByOrderId(orderDetailResultRequest.getOrderIdFk());
return ResultVOUtils.success(checkInoutService.combineCheck(orderDetailBizEntities, orderDetailCodeEntities));
}
@AuthRuleAnnotation("")
@GetMapping("/udiwms/inout/waitAllocate/filterList")
public BaseResponse waitAllocate(FilterOrderDetailResultRequest orderDetailResultRequest) {
IoOrderEntity orderEntity = orderService.findByBillNo(orderDetailResultRequest.getOrderIdFk());
List<IoOrderDetailBizEntity> orderDetailBizEntities = orderDetailBizService.findByOrderId(orderDetailResultRequest.getOrderIdFk());
checkInoutService.bizNoPiCheck(orderDetailBizEntities, orderEntity);
return ResultVOUtils.success(orderDetailBizEntities);
}
//校验模板是否正确
@AuthRuleAnnotation("")
@PostMapping("/udiwms/pdf/template/order/result/file")
public BaseResponse inspectionStockOrderPDFFromTemplateFile(@RequestBody InspectionPDFTemplateRequest inspectionPDFTemplateRequest) {
//查询模板文件是否存在
SysPdfTemplateRelevanceStatemenEntity sysPdfTemplateRelevanceStatemenEntity = systemPDFModuleService.selectByStatemenId(inspectionPDFTemplateRequest.getId());
if (null == sysPdfTemplateRelevanceStatemenEntity) {
return ResultVOUtils.error(ResultEnum.DATA_NOT, "所属模块错误");
}
SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(String.valueOf(sysPdfTemplateRelevanceStatemenEntity.getTemplateId()));
if (null == systemPDFTemplateEntity) {
return ResultVOUtils.error(ResultEnum.DATA_NOT, "模板错误");
}
return ResultVOUtils.success(sysPdfTemplateRelevanceStatemenEntity.getTemplateId());
}
//校验模板是否正确--标签
@AuthRuleAnnotation("")
@PostMapping("/udiwms/pdf/templateLabel/order/result/file")
public BaseResponse inspectionStockOrderPDFFromTemplateLabelFile(@RequestBody InspectionPDFTemplateRequest inspectionPDFTemplateRequest) {
//查询模板文件是否存在
SysPdfTemplateRelevanceLabelEntity sysPdfTemplateRelevanceLabelEntity = systemPDFModuleService.selectByLabelId(inspectionPDFTemplateRequest.getId());
if (null == sysPdfTemplateRelevanceLabelEntity) {
return ResultVOUtils.error(ResultEnum.DATA_NOT, "所属模块错误");
}
SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(String.valueOf(sysPdfTemplateRelevanceLabelEntity.getTemplateId()));
if (null == systemPDFTemplateEntity) {
return ResultVOUtils.error(ResultEnum.DATA_NOT, "模板错误");
}
return ResultVOUtils.success(sysPdfTemplateRelevanceLabelEntity.getTemplateId());
}
/**
* 出入库明细打印
*
* @param filterOrderDetailResultRequest
* @return
*/
@AuthRuleAnnotation("")
@PostMapping("/udiwms/inout/resultDetail/filterOrderPrint")
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);
List<Object> list = new ArrayList<>();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");//定义新的日期格式
//按选入打印
if (filterOrderDetailResultRequest.getList() != null && filterOrderDetailResultRequest.getList().size() > 0) {
ioOrderDetailResultResponseList = filterOrderDetailResultRequest.getList();
} else {
//按查询打印
FilterOrderRequest filterOrderRequest = new FilterOrderRequest();
filterOrderRequest.setVueType(filterOrderDetailResultRequest.getActionType());
List<String> actions = orderService.setActions(filterOrderRequest);
if (CollUtil.isEmpty(actions)) {
return ResultVOUtils.success("");
}
filterOrderDetailResultRequest.setActions(actions);
AuthAdmin authAdmin = customerService.getUserBean();
if (StrUtil.isBlank(filterOrderDetailResultRequest.getInvCode())) {
filterOrderDetailResultRequest.setInvCode(authAdmin.getLocInvCode());
}
ioOrderDetailResultResponseList = orderDetailResultService.filterOrderList(filterOrderDetailResultRequest);
for (IoOrderDetailResultResponse orderDetailResultResponse : ioOrderDetailResultResponseList) {
if (orderDetailResultResponse.getMainAction().equals(ConstantType.TYPE_OUT)) {
orderDetailResultResponse.setOutCount(orderDetailResultResponse.getReCount());
orderDetailResultResponse.setInCount(0);
} else {
orderDetailResultResponse.setOutCount(0);
orderDetailResultResponse.setInCount(orderDetailResultResponse.getReCount());
}
}
}
List<IoOrderDetailResultEntity> updatePrints = new ArrayList<>();
int i = 1;
for (IoOrderDetailResultResponse ioOrderDetailResultResponse : ioOrderDetailResultResponseList) {
//查询第三方产品产品类别
ThrProductsEntity thrProductsEntity = thrProductsService.filterThrProductsByMainId(ioOrderDetailResultResponse.getBindRlFk() + "");
//查询发票信息
String dateStr = "";
List<String> encodeList = new ArrayList<>();
IoOrderInvoiceRequest ioOrderInvoiceRequest = new IoOrderInvoiceRequest();
ioOrderInvoiceRequest.setBindRlFk(ioOrderDetailResultResponse.getBindRlFk() + "");
ioOrderInvoiceRequest.setOrderIdFk(ioOrderDetailResultResponse.getOrderIdFk());
ioOrderInvoiceRequest.setBatchNo(ioOrderDetailResultResponse.getBatchNo());
List<IoOrderInvoiceEntity> ioOrderInvoiceEntityList = ioOrderInvoiceService.selectOrderInvoice(ioOrderInvoiceRequest);
for (IoOrderInvoiceEntity ioOrderInvoiceEntity : ioOrderInvoiceEntityList) {
encodeList.add(ioOrderInvoiceEntity.getInvoiceEncode());
}
String encode = String.join(",", encodeList);
if (CollectionUtils.isNotEmpty(ioOrderInvoiceEntityList)) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
dateStr = sdf.format(ioOrderInvoiceEntityList.get(0).getCreateTime());
}
//组装数据
Map<String, Object> ioOrderDetailResultData = new HashMap<>();
ioOrderDetailResultData.put("index", String.valueOf(i));
ioOrderDetailResultData.put("nameCode", ioOrderDetailResultResponse.getNameCode() == null ? ' ' : ioOrderDetailResultResponse.getNameCode());
ioOrderDetailResultData.put("batchNo", ioOrderDetailResultResponse.getBatchNo() == null ? ' ' : ioOrderDetailResultResponse.getBatchNo());
ioOrderDetailResultData.put("productDate", ioOrderDetailResultResponse.getProductDate() == null ? ' ' : ioOrderDetailResultResponse.getProductDate());
ioOrderDetailResultData.put("expireDate", ioOrderDetailResultResponse.getExpireDate() == null ? ' ' : ioOrderDetailResultResponse.getExpireDate());
ioOrderDetailResultData.put("coName", ioOrderDetailResultResponse.getCoName() == null ? ' ' : ioOrderDetailResultResponse.getCoName());
ioOrderDetailResultData.put("corpName", ioOrderDetailResultResponse.getCorpName()== null ? ' ' : ioOrderDetailResultResponse.getCorpName());
ioOrderDetailResultData.put("certCode", ioOrderDetailResultResponse.getCertCode() == null ? ' ' : ioOrderDetailResultResponse.getCertCode());
ioOrderDetailResultData.put("ylqxzcrbarmc", ioOrderDetailResultResponse.getYlqxzcrbarmc() == null ? ' ' : ioOrderDetailResultResponse.getYlqxzcrbarmc());
ioOrderDetailResultData.put("manufacturer", ioOrderDetailResultResponse.getManufacturer() == null ? ' ' : ioOrderDetailResultResponse.getManufacturer());
ioOrderDetailResultData.put("measname", ioOrderDetailResultResponse.getMeasname() == null ? ' ' : ioOrderDetailResultResponse.getMeasname());
ioOrderDetailResultData.put("spec", ioOrderDetailResultResponse.getSpec() == null ? ' ' : ioOrderDetailResultResponse.getSpec());
ioOrderDetailResultData.put("price", ioOrderDetailResultResponse.getPrice() == null ? null : ioOrderDetailResultResponse.getPrice());
ioOrderDetailResultData.put("count", ioOrderDetailResultResponse.getCount());
ioOrderDetailResultData.put("reCount", ioOrderDetailResultResponse.getReCount());
ioOrderDetailResultData.put("inCount", ioOrderDetailResultResponse.getInCount());
ioOrderDetailResultData.put("acceptCount", ioOrderDetailResultResponse.getAcceptCount());
ioOrderDetailResultData.put("fromCorpName", ioOrderDetailResultResponse.getFromCorpName() == null ? ' ' : ioOrderDetailResultResponse.getFromCorpName());
ioOrderDetailResultData.put("billTypeName", ioOrderDetailResultResponse.getBillTypeName() == null ? ' ' : ioOrderDetailResultResponse.getBillTypeName());
ioOrderDetailResultData.put("mainAction", ioOrderDetailResultResponse.getMainAction() == null ? ' ' : ioOrderDetailResultResponse.getMainAction());
ioOrderDetailResultData.put("auditTime", ioOrderDetailResultResponse.getAuditTime() == null ? ' ' : formatter.format(ioOrderDetailResultResponse.getAuditTime()));
ioOrderDetailResultData.put("confirmTime", ioOrderDetailResultResponse.getConfirmTime() == null ? ' ' : formatter.format(ioOrderDetailResultResponse.getConfirmTime()));
ioOrderDetailResultData.put("locInvName", filterOrderDetailResultRequest.getLocInvName() == null ? ' ' : filterOrderDetailResultRequest.getLocInvName());
ioOrderDetailResultData.put("startAduditTime", filterOrderDetailResultRequest.getStartAduditTime()== null ? ' ' : filterOrderDetailResultRequest.getStartAduditTime());
ioOrderDetailResultData.put("endAduditTime", filterOrderDetailResultRequest.getEndAduditTime()== null ? ' ' : filterOrderDetailResultRequest.getEndAduditTime());
ioOrderDetailResultData.put("confirmStarTime", filterOrderDetailResultRequest.getConfirmStarTime()== null ? ' ' : filterOrderDetailResultRequest.getConfirmStarTime());
ioOrderDetailResultData.put("confirmEndTime", filterOrderDetailResultRequest.getConfirmEndTime()== null ? ' ' : filterOrderDetailResultRequest.getConfirmEndTime());
ioOrderDetailResultData.put("employeeName", filterOrderDetailResultRequest.getEmployeeName()== null ? ' ' : filterOrderDetailResultRequest.getEmployeeName());
ioOrderDetailResultData.put("fromInvName", ioOrderDetailResultResponse.getFromInvName()== null ? ' ' : ioOrderDetailResultResponse.getFromInvName());
if (thrProductsEntity != null) {
ioOrderDetailResultData.put("cplb", thrProductsEntity.getCplb() == null ? ' ' : thrProductsEntity.getCplb());
}
ioOrderDetailResultData.put("invoiceEncode", encode);
ioOrderDetailResultData.put("createTime", dateStr);
list.add(ioOrderDetailResultData);
i++;
//更新打印状态
IoOrderDetailResultEntity orderDetailResultEntity = new IoOrderDetailResultEntity();
orderDetailResultEntity.setId(ioOrderDetailResultResponse.getId());
orderDetailResultEntity.setInoutPrintStatus(1);
orderDetailResultService.update(orderDetailResultEntity);
}
data.put("data", list);
String param = JSON.toJSONString(data);
JasperUtils.jasperReport(request, response, param, filePath + "pdf/template/" + systemPDFTemplateEntity.getPath(), "pdf");
return ResultVOUtils.success();
}
/**
* 科室设备明细打印
*
* @param detailQuery
* @return
*/
@AuthRuleAnnotation("")
@PostMapping("/udiwms/inout/resultDetail/filterDevPrint")
public BaseResponse filterDevPrint(@RequestBody DeviceInfoDetailQuery detailQuery, HttpServletRequest request, HttpServletResponse response) throws JRException, IOException {
List<DeviceInfoVo> resList = new ArrayList<>();
SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(detailQuery.getTemplateId());
//打印单号标签
Map<String, Object> data = new HashMap<>(1);
List<Object> list = new ArrayList<>();
//按选入打印
if (detailQuery.getList() != null && detailQuery.getList().size() > 0) {
resList = detailQuery.getList();
} else {
resList =deviceInfoMapper.detail(detailQuery);
}
int i = 1;
for (DeviceInfoVo item : resList) {
//组装数据
Map<String, Object> deviceInfoData = new HashMap<>();
deviceInfoData.put("index", String.valueOf(i));
deviceInfoData.put("deviceCode", item.getDeviceCode() == null ? ' ' : item.getDeviceCode());
deviceInfoData.put("deptName", item.getDeptName() == null ? ' ' : item.getDeptName());
// deviceInfoData.put("statusName", item.getStatusName() == null ? ' ' : item.getStatusName());
// deviceInfoData.put("udi", item.getUdi() == null ? ' ' : item.getUdi());
// deviceInfoData.put("nameCode", item.getNameCode() == null ? ' ' : item.getNameCode());
deviceInfoData.put("productName", item.getProductName() == null ? ' ' : item.getProductName());
deviceInfoData.put("ggxh", item.getGgxh() == null ? ' ' : item.getGgxh());
deviceInfoData.put("assetValue", item.getAssetValue() == null ? "0.00" : String.valueOf(item.getAssetValue().setScale(2, RoundingMode.HALF_UP)));
// deviceInfoData.put("batchNo", item.getBatchNo() == null ? ' ' : item.getBatchNo());
// deviceInfoData.put("serialNo", item.getSerialNo() == null ? ' ' : item.getSerialNo());
// deviceInfoData.put("productionDate", item.getProductionDate() == null ? ' ' : item.getProductionDate());
// deviceInfoData.put("expireDate", item.getExpireDate() == null ? ' ' : item.getExpireDate());
// deviceInfoData.put("manufactory", item.getManufactory() == null ? ' ' : item.getManufactory());
// deviceInfoData.put("measname", item.getMeasname() == null ? ' ' : item.getMeasname());
// deviceInfoData.put("zczbhhzbapzbh", item.getZczbhhzbapzbh() == null ? ' ' : item.getZczbhhzbapzbh());
// deviceInfoData.put("supName", item.getSupName() == null ? ' ' : item.getSupName());
// deviceInfoData.put("changeCount", item.getChangeCount() == null ? '0' : item.getChangeCount());
// deviceInfoData.put("repairApplyCount", item.getRepairApplyCount() == null ? '0' : item.getRepairApplyCount());
// deviceInfoData.put("repairCount", item.getRepairCount() == null ? '0' : item.getRepairCount());
// deviceInfoData.put("checkCount", item.getCheckCount() == null ? '0' : item.getCheckCount());
list.add(deviceInfoData);
i++;
}
data.put("data", list);
String param = JSON.toJSONString(data);
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(MsDateUtil.formatDate(cptTraceOrderResponse.getCreateTime(), "yyyy-MM-dd HH:mm:ss"));
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());
cptTraceResultResponse.setToCorp(cptTraceOrderResponse.getFromCorpName());
cptTraceResultResponse.setToCorpCreditNum(cptTraceOrderResponse.getCreditNo());
// //往来单位为病人
// if (cptTraceOrderResponse.getCorpType() == 1 && cptTraceOrderResponse.getOutType() == 1) {
// cptTraceResultResponse.setToUserInfo(cptTraceOrderResponse.getFromCorpName());
// } else {
//
// }
} 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);
}
/**
* 查询出入库单明细
*/
@GetMapping("/udiwms/inout/external/orderDetail/filter")
public BaseResponse externalOrderFilter(FilterOrderDetailResultRequest orderDetailResultRequest) {
List<IoExOrderDetailResultResponse> list = orderDetailResultService.exFilterOrderDetail(orderDetailResultRequest);
PageInfo<IoExOrderDetailResultResponse> pageInfo = new PageInfo<>(list);
return ResultVOUtils.page(pageInfo);
}
}