单据打印新增批次号打印,清单打印,解决服务端打印时出现乱码下划线问题

fencang
anthonyywj2 3 years ago
parent 6214d6d8ad
commit f4f1434281

@ -1,5 +1,6 @@
package com.glxp.sale.admin.controller.basic;
import cn.hutool.core.util.StrUtil;
import com.github.pagehelper.PageInfo;
import com.glxp.sale.admin.annotation.AuthRuleAnnotation;
import com.glxp.sale.admin.entity.basic.BussinessOriginTypeEntity;
@ -37,6 +38,12 @@ public class BussinessOriginTypeController {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
if (StrUtil.isEmpty(bussinessTypeFilterRequest.getThirdSys())) {
return ResultVOUtils.error(500, "请先选择第三系统");
}
List<BussinessOriginTypeEntity> bussinessTypeEntities;
bussinessTypeEntities = bussinessOriginTypeService.filterEnableList(
bussinessTypeFilterRequest);

@ -1,5 +1,6 @@
package com.glxp.sale.admin.controller.inout;
import cn.hutool.core.util.StrUtil;
import com.github.pagehelper.PageInfo;
import com.glxp.sale.admin.annotation.AuthRuleAnnotation;
import com.glxp.sale.admin.entity.basic.StockPrintEntity;
@ -13,6 +14,7 @@ import com.glxp.sale.admin.entity.param.SystemPDFModuleEntity;
import com.glxp.sale.admin.entity.param.SystemPDFTemplateEntity;
import com.glxp.sale.admin.req.basic.FilterStockprintRequest;
import com.glxp.sale.admin.req.inout.DeleteRequest;
import com.glxp.sale.admin.req.inout.StockOrderDetailFilterRequest;
import com.glxp.sale.admin.req.inout.StockQRCodeTextFilterRequest;
import com.glxp.sale.admin.req.inventory.DeleteStPrintTempRequest;
import com.glxp.sale.admin.req.inventory.FilterStPrintTempRequest;
@ -368,53 +370,114 @@ public class StockQRCodeTextController {
HttpServletRequest request, HttpServletResponse response) throws Exception {
/*打印订单*/
List<StockOrderPrintEntity> list = stockOrderService.listOrderPrint(stockQRCodeTextPDFTemplateRequest.getId());
if (list != null && list.size() > 0) {
SystemPDFModuleEntity systemPDFModuleEntity = systemPDFModuleService.selectById(stockQRCodeTextPDFTemplateRequest.getModuleId() + "");
SystemPDFTemplateRelevanceRequest systemPDFTemplateRelevanceRequest = new SystemPDFTemplateRelevanceRequest();
systemPDFTemplateRelevanceRequest.setModuleId(systemPDFModuleEntity.getId());
systemPDFTemplateRelevanceRequest.setLocalAction(list.get(0).getBillType());
List<SystemPDFTemplateRelevanceResponse> systemPDFTemplateRelevanceResponses = systemPDFTemplateRelevanceService.filterList(systemPDFTemplateRelevanceRequest);
if (systemPDFTemplateRelevanceResponses == null || systemPDFTemplateRelevanceResponses.size() < 1) return;
StockOrderEntity stockOrderEntity = stockOrderService.findById(stockQRCodeTextPDFTemplateRequest.getId());
SystemPDFTemplateRelevanceRequest systemPDFTemplateRelevanceRequest = new SystemPDFTemplateRelevanceRequest();
systemPDFTemplateRelevanceRequest.setModuleId(stockQRCodeTextPDFTemplateRequest.getModuleId());
systemPDFTemplateRelevanceRequest.setLocalAction(stockOrderEntity.getBillType());
SystemPDFTemplateRelevanceResponse systemPDFTemplateRelevanceResponse = systemPDFTemplateRelevanceResponses.get(0);
SystemPDFTemplateEntity systemPDFTemplateEntity =
systemPDFTemplateService.selectById(String.valueOf(systemPDFTemplateRelevanceResponse.getTemplateId()));
systemPDFModuleEntity.setRemark1(systemPDFTemplateRelevanceResponse.getRemark1());
systemPDFModuleEntity.setRemark2(systemPDFTemplateRelevanceResponse.getRemark2());
systemPDFModuleEntity.setRemark3(systemPDFTemplateRelevanceResponse.getRemark3());
List<SystemPDFTemplateRelevanceResponse> systemPDFTemplateRelevanceResponses = systemPDFTemplateRelevanceService.filterList(systemPDFTemplateRelevanceRequest);
if (systemPDFTemplateRelevanceResponses == null || systemPDFTemplateRelevanceResponses.size() < 1) return;
SystemPDFTemplateRelevanceResponse systemPDFTemplateRelevanceResponse = systemPDFTemplateRelevanceResponses.get(0);
if (systemPDFTemplateRelevanceResponse.getPrintType() == 0) {
/*打印订单*/
List<StockOrderPrintEntity> list = stockOrderService.listOrderPrint(stockQRCodeTextPDFTemplateRequest.getId());
if (list != null && list.size() > 0) {
SystemPDFModuleEntity systemPDFModuleEntity = systemPDFModuleService.selectById(stockQRCodeTextPDFTemplateRequest.getModuleId() + "");
SystemPDFTemplateEntity systemPDFTemplateEntity =
systemPDFTemplateService.selectById(String.valueOf(systemPDFTemplateRelevanceResponse.getTemplateId()));
systemPDFModuleEntity.setRemark1(systemPDFTemplateRelevanceResponse.getRemark1());
systemPDFModuleEntity.setRemark2(systemPDFTemplateRelevanceResponse.getRemark2());
systemPDFModuleEntity.setRemark3(systemPDFTemplateRelevanceResponse.getRemark3());
if (systemPDFTemplateEntity == null) return;
int index = 1;
CompanyEntity companyEntity = companyService.findCompany(Long.parseLong(Constant.SYSTEM_CUSTOMER_ID));//Long.parseLong(list.get(0).getCustomerId())
for (StockOrderPrintEntity stockOrderPrintEntity : list) {
stockOrderPrintEntity.setIndex(index + "");
stockOrderPrintEntity.setTitle(companyEntity.getCompanyName());
stockOrderPrintEntity.setCorpName(stockOrderPrintEntity.getCorpName());
stockOrderPrintEntity.setOrderName(stockQRCodeTextPDFTemplateRequest.getOrderName());
stockOrderPrintEntity.setRemark1(systemPDFModuleEntity.getRemark1());
stockOrderPrintEntity.setRemark2(systemPDFModuleEntity.getRemark2());
stockOrderPrintEntity.setRemark3(systemPDFModuleEntity.getRemark3());
index++;
}
if (systemPDFTemplateEntity == null) return;
Map<String, Object> data = new HashMap<String, Object>();
data.put("data", list);
JasperUtils.jasperReport(request, response, data, systemPDFTemplateEntity.getPath(), "pdf");
StockOrderEntity updateStockOrderEntity = new StockOrderEntity();
updateStockOrderEntity.setId(stockQRCodeTextPDFTemplateRequest.getId());
updateStockOrderEntity.setPrintStatus("102");
stockOrderService.updateById(updateStockOrderEntity);
}
} else {
/*打印订单*/
StockOrderDetailFilterRequest stockOrderDetailFilterRequest = new StockOrderDetailFilterRequest();
stockOrderDetailFilterRequest.setOrderIdFk(stockOrderEntity.getId());
List<StockOrderDetailEntity> stockOrderDetailEntities = stockOrderDetailService.filterStockOrderDetail(stockOrderDetailFilterRequest);
List<StockOrderPrintEntity> list = stockOrderService.listCodePrint(stockOrderEntity.getOrderIdFk());
if (list != null && list.size() > 0) {
SystemPDFModuleEntity systemPDFModuleEntity = systemPDFModuleService.selectById(stockQRCodeTextPDFTemplateRequest.getModuleId() + "");
SystemPDFTemplateEntity systemPDFTemplateEntity =
systemPDFTemplateService.selectById(String.valueOf(systemPDFTemplateRelevanceResponse.getTemplateId()));
systemPDFModuleEntity.setRemark1(systemPDFTemplateRelevanceResponse.getRemark1());
systemPDFModuleEntity.setRemark2(systemPDFTemplateRelevanceResponse.getRemark2());
systemPDFModuleEntity.setRemark3(systemPDFTemplateRelevanceResponse.getRemark3());
if (systemPDFTemplateEntity == null) return;
int index = 1;
CompanyEntity companyEntity = companyService.findCompany(Long.parseLong(Constant.SYSTEM_CUSTOMER_ID));//Long.parseLong(list.get(0).getCustomerId())
for (StockOrderPrintEntity stockOrderPrintEntity : list) {
BeanUtils.copyProperties(stockOrderEntity, stockOrderPrintEntity);
stockOrderPrintEntity.setIndex(index + "");
stockOrderPrintEntity.setTitle(companyEntity.getCompanyName());
stockOrderPrintEntity.setCorpName(stockOrderPrintEntity.getCorpName());
stockOrderPrintEntity.setOrderName(stockQRCodeTextPDFTemplateRequest.getOrderName());
stockOrderPrintEntity.setRemark1(systemPDFModuleEntity.getRemark1());
stockOrderPrintEntity.setRemark2(systemPDFModuleEntity.getRemark2());
stockOrderPrintEntity.setRemark3(systemPDFModuleEntity.getRemark3());
StockOrderDetailEntity stockOrderDetailEntity = getDetailByRelBatch(stockOrderDetailEntities, stockOrderPrintEntity.getProductId(), stockOrderPrintEntity.getBatchNo());
if (stockOrderDetailEntity != null) {
stockOrderPrintEntity.setPrice(stockOrderDetailEntity.getPrice());
}
index++;
}
int index = 1;
CompanyEntity companyEntity = companyService.findCompany(Long.parseLong(Constant.SYSTEM_CUSTOMER_ID));//Long.parseLong(list.get(0).getCustomerId())
for (StockOrderPrintEntity stockOrderPrintEntity : list) {
stockOrderPrintEntity.setIndex(index + "");
stockOrderPrintEntity.setTitle(companyEntity.getCompanyName());
stockOrderPrintEntity.setCorpName(stockOrderPrintEntity.getCorpName());
stockOrderPrintEntity.setOrderName(stockQRCodeTextPDFTemplateRequest.getOrderName());
stockOrderPrintEntity.setRemark1(systemPDFModuleEntity.getRemark1());
stockOrderPrintEntity.setRemark2(systemPDFModuleEntity.getRemark2());
stockOrderPrintEntity.setRemark3(systemPDFModuleEntity.getRemark3());
index++;
Map<String, Object> data = new HashMap<String, Object>();
data.put("data", list);
JasperUtils.jasperReport(request, response, data, systemPDFTemplateEntity.getPath(), "pdf");
StockOrderEntity updateStockOrderEntity = new StockOrderEntity();
updateStockOrderEntity.setId(stockQRCodeTextPDFTemplateRequest.getId());
updateStockOrderEntity.setPrintStatus("102");
stockOrderService.updateById(updateStockOrderEntity);
}
}
}
Map<String, Object> data = new HashMap<String, Object>();
data.put("data", list);
JasperUtils.jasperReport(request, response, data, systemPDFTemplateEntity.getPath(), "pdf");
// JasperUtils.jasperReport(request, response, data, "jaspers/order_print_1.jasper", "pdf");
StockOrderEntity updateStockOrderEntity = new StockOrderEntity();
updateStockOrderEntity.setId(stockQRCodeTextPDFTemplateRequest.getId());
updateStockOrderEntity.setPrintStatus("102");
stockOrderService.updateById(updateStockOrderEntity);
public StockOrderDetailEntity getDetailByRelBatch(List<StockOrderDetailEntity> stockOrderDetailEntities, String relId, String batchNo) {
for (StockOrderDetailEntity stockOrderDetailEntity : stockOrderDetailEntities) {
if (StrUtil.trim(stockOrderDetailEntity.getBatchNo()).equals(StrUtil.trim(batchNo))
&& StrUtil.trim(stockOrderDetailEntity.getRelId()).equals(StrUtil.trim(relId))
) {
return stockOrderDetailEntity;
}
}
return null;
}
@AuthRuleAnnotation("")
@GetMapping(value = "/udiwms/stock/qrcode/text/upload")
public BaseResponse upload(StockQRCodeTextFilterRequest stockQRCodeTextFilterRequest,

@ -12,6 +12,7 @@ import java.util.List;
@Mapper
public interface StockOrderDao {
List<StockOrderEntity> listStockOrder(StockOrderQueryRequest stockOrderQueryRequest);
List<StockOrderEntity> listStockOrderNoDealWith(StockOrderQueryRequest stockOrderQueryRequest);
@ -32,6 +33,9 @@ public interface StockOrderDao {
List<StockOrderPrintEntity> listOrderPrint(StockOrderFilterRequest stockOrderFilterRequest);
List<StockOrderPrintEntity> listCodePrint(StockOrderFilterRequest stockOrderFilterRequest);
void updateSupplementNoByBillNo(@Param("billNo") String billNo, @Param("supplementOrderNo") String supplementOrderNo);
/**

@ -46,4 +46,7 @@ public class StockOrderPrintEntity extends StockOrderDetailEntity {
private String manufactory;
private String spmc;
private String cpms;
private String measname; //计量单位
private String udiCode; //条码
private String serialNo; //序列号
}

@ -16,5 +16,6 @@ public class SystemPDFTemplateRelevanceEntity {
private String remark1;
private String remark2;
private String remark3;
private int printType;
}

@ -39,4 +39,7 @@ public class StockOrderFilterRequest extends ListPageRequest {
private boolean entrustEnd;
private String localAction;
private String orderId;
}

@ -23,6 +23,6 @@ public class SystemPDFTemplateRelevanceResponse {
private String remark1;
private String remark2;
private String remark3;
private int printType;
}

@ -36,6 +36,8 @@ public interface StockOrderService {
List<StockOrderPrintEntity> listOrderPrint(String orderId);
List<StockOrderPrintEntity> listCodePrint(String orderId);
/**
*
*

@ -1,5 +1,6 @@
package com.glxp.sale.admin.service.inout.impl;
import cn.hutool.core.util.StrUtil;
import com.github.pagehelper.PageHelper;
import com.glxp.sale.admin.dao.inout.StockOrderDao;
import com.glxp.sale.admin.entity.inout.StockOrderEntity;
@ -102,11 +103,25 @@ public class StockOrderServiceImpl implements StockOrderService {
@Override
public List<StockOrderPrintEntity> listOrderPrint(String orderId) {
if (StrUtil.isEmpty(orderId)) {
return null;
}
StockOrderFilterRequest stockOrderFilterRequest = new StockOrderFilterRequest();
stockOrderFilterRequest.setId(orderId);
return stockOrderDao.listOrderPrint(stockOrderFilterRequest);
}
@Override
public List<StockOrderPrintEntity> listCodePrint(String orderId) {
if (StrUtil.isEmpty(orderId)) {
return null;
}
StockOrderFilterRequest stockOrderFilterRequest = new StockOrderFilterRequest();
stockOrderFilterRequest.setOrderId(orderId);
return stockOrderDao.listCodePrint(stockOrderFilterRequest);
}
@Override
public List<StockOrderEntity> getSupplementOrderBillNoList() {
return stockOrderDao.selectSupplementOrderList();

@ -1,6 +1,7 @@
package com.glxp.sale.admin.util;
import java.io.*;
import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
@ -9,6 +10,7 @@ import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.hutool.json.JSONUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.core.io.ClassPathResource;
@ -50,7 +52,7 @@ public class JasperUtils {
try {
HashMap<String, Object> map = new HashMap<String, Object>();
logger.error(JSON.toJSONString(data));
InputStream is = new ByteArrayInputStream(JSON.toJSONString(data).getBytes("UTF-8"));
InputStream is = new ByteArrayInputStream(JSONUtil.toJsonStr(data).getBytes(StandardCharsets.UTF_8));
map.put("JSON_INPUT_STREAM", is); //填充报表数据
map.put(JsonQueryExecuterFactory.JSON_LOCALE, Locale.ENGLISH);
FileInputStream jasperStream = new FileInputStream(new File(jasperResource));

@ -513,6 +513,7 @@
<if test="ybbm != null">ybbm=#{ybbm},</if>
<if test="sptm != null">sptm=#{sptm},</if>
<if test="updateTime != null">updateTime=#{updateTime},</if>
<if test="modifyTime != null">modifyTime=#{modifyTime},</if>
<if test="isDisable != null">isDisable=#{isDisable},</if>
<if test="isLock != null">isLock=#{isLock},</if>
<if test="mainId != null">mainId=#{mainId},</if>

@ -259,22 +259,18 @@
<select id="listOrderPrint" parameterType="com.glxp.sale.admin.req.inout.StockOrderFilterRequest"
resultType="com.glxp.sale.admin.entity.inout.StockOrderPrintEntity">
SELECT stock_order.*, stock_order_detail.productId, stock_order_detail.productName, stock_order_detail.spec,
stock_order_detail.batchNo, stock_order_detail.productDate, stock_order_detail.expireDate,
stock_order_detail.count, stock_order_detail.sweepCount,
stock_order_detail.ylqxzcrbarmc,stock_order_detail.manufactory,
stock_order_detail.zczbhhzbapzbh,stock_order_detail.price,inv_warehouse.name locInv,productinfo.spmc,
basic_products.cpms FROM
stock_order INNER JOIN
stock_order_detail on
stock_order.id =
stock_order_detail.orderIdFk
SELECT stock_order.*, stock_order_detail.productId, stock_order_detail.productName,
stock_order_detail.spec, stock_order_detail.batchNo, stock_order_detail.productDate,
stock_order_detail.expireDate, stock_order_detail.count, stock_order_detail.sweepCount,
stock_order_detail.ylqxzcrbarmc,stock_order_detail.manufactory, stock_order_detail.zczbhhzbapzbh,
stock_order_detail.price,inv_warehouse.name locInv,productinfo.spmc, basic_products.cpms FROM stock_order
INNER JOIN stock_order_detail on stock_order.id = stock_order_detail.orderIdFk
LEFT JOIN inv_warehouse ON stock_order.locStorageCode = inv_warehouse.`code`
LEFT JOIN inv_warehouse_sub ON inv_warehouse_sub.parentId = inv_warehouse.`code`
LEFT JOIN inv_warehouse_user on inv_warehouse_sub.code = inv_warehouse_user.`code`
left join basic_udirel on stock_order_detail.productId = basic_udirel.id
INNER JOIN basic_products on basic_products.uuid = basic_udirel.uuid
INNER JOIN productinfo on productinfo.uuid = basic_products.originUuid
left JOIN basic_products on basic_products.uuid = basic_udirel.uuid
left JOIN productinfo on productinfo.uuid = basic_products.originUuid
<where>
<if test="id != '' and id!=null">
and stock_order.id =#{id}
@ -291,14 +287,36 @@
<if test="invWarehouseCode != '' and invWarehouseCode!=null">
and invWarehouseCode = #{invWarehouseCode}
</if>
<if test="userId!=null">
and (invWarehouseCode in (select code from inv_warehouse_user WHERE userId =#{userId}) or
invWarehouseCode is null or invWarehouseCode='')
</if>
<!-- <if test="userId!=null">-->
<!-- and (invWarehouseCode in (select code from inv_warehouse_user WHERE userId =#{userId}) or-->
<!-- invWarehouseCode is null or invWarehouseCode='')-->
<!-- </if>-->
</where>
group by stock_order_detail.id
</select>
<select id="listCodePrint" parameterType="com.glxp.sale.admin.req.inout.StockOrderFilterRequest"
resultType="com.glxp.sale.admin.entity.inout.StockOrderPrintEntity">
select io_codes.code udiCode,basic_udirel.id productId,basic_products.cpmctymc productName,basic_products.ggxh
spec
,io_codes.batchNo,io_codes.produceDate productDate,io_codes.expireDate ,io_codes.serialNo,io_codes.count,
basic_products.ylqxzcrbarmc,basic_products.manufactory,basic_products.measname,basic_products.zczbhhzbapzbh,
inv_warehouse.name locInv
from io_codes
INNER JOIN basic_udirel on io_codes.relId = basic_udirel.id
INNER JOIN basic_products on basic_products.uuid = basic_udirel.uuid
LEFT JOIN inv_warehouse ON io_codes.locStorageCode = inv_warehouse.`code`
<where>
<if test="orderId != '' and orderId !=null">
and io_codes.orderId =#{orderId}
</if>
</where>
group by io_codes.id
</select>
<select id="selectSupplementOrderList" resultType="com.glxp.sale.admin.entity.inout.StockOrderEntity">
select *
from stock_order

@ -16,7 +16,7 @@
templateId,
moduleId,
system_pdf_template.name
templateName,system_pdf_template_relevance.remark1,system_pdf_template_relevance.remark2,system_pdf_template_relevance.remark3
templateName,system_pdf_template_relevance.remark1,system_pdf_template_relevance.remark2,system_pdf_template_relevance.remark3,printType
from basic_bustype_local
LEFT JOIN system_pdf_template_relevance
on basic_bustype_local.action = system_pdf_template_relevance.localAction
@ -66,7 +66,7 @@
insert
ignore
INTO system_pdf_template_relevance
(templateId, customerId, adminId, moduleId, localAction, remark1, remark2, remark3)
(templateId, customerId, adminId, moduleId, localAction, remark1, remark2, remark3,printType)
values (
#{templateId},
#{customerId},
@ -75,7 +75,8 @@
#{localAction},
#{remark1},
#{remark2},
#{remark3}
#{remark3},
#{printType}
)
</insert>
<update id="udpateRl" parameterType="com.glxp.sale.admin.entity.param.SystemPDFTemplateRelevanceEntity">
@ -89,6 +90,8 @@
<if test="remark1 != null">remark1=#{remark1},</if>
<if test="remark2 != null">remark2=#{remark2},</if>
<if test="remark3 != null">remark3=#{remark3},</if>
<if test="printType != null">printType=#{printType},</if>
</trim>
WHERE id = #{id}
</update>

Loading…
Cancel
Save