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.
519 lines
29 KiB
Java
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);
|
|
}
|
|
|
|
|
|
}
|