单据打印功能代码提交

master
郑明梁 2 years ago
parent 8a41703215
commit 3bfb013a2c

@ -0,0 +1,199 @@
package com.glxp.api.controller.basic;
import com.alibaba.fastjson.JSON;
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.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.entity.basic.UdiProductEntity;
import com.glxp.api.entity.inout.IoCodeEntity;
import com.glxp.api.entity.inout.IoOrderDetailBizEntity;
import com.glxp.api.entity.inout.IoOrderEntity;
import com.glxp.api.entity.purchase.SupCertEntity;
import com.glxp.api.entity.purchase.SupManufacturerEntity;
import com.glxp.api.entity.purchase.SupProductEntity;
import com.glxp.api.entity.system.SystemPDFModuleEntity;
import com.glxp.api.entity.system.SystemPDFTemplateEntity;
import com.glxp.api.entity.system.SystemPDFTemplateRelevanceEntity;
import com.glxp.api.req.basic.FilterOrderPrintRequest;
import com.glxp.api.req.inout.FilterOrderRequest;
import com.glxp.api.req.inout.InspectionPDFTemplateRequest;
import com.glxp.api.req.purchase.FilterSupManufacturerRequest;
import com.glxp.api.req.purchase.purPlanPrintRequest;
import com.glxp.api.req.system.FilterPdfTemplateRequest;
import com.glxp.api.res.inout.IoOrderResponse;
import com.glxp.api.res.system.SystemPDFTemplateRelevanceResponse;
import com.glxp.api.service.basic.IBasicBussinessTypeService;
import com.glxp.api.service.basic.UdiProductService;
import com.glxp.api.service.inout.IoCodeService;
import com.glxp.api.service.inout.IoOrderDetailBizService;
import com.glxp.api.service.inout.IoOrderService;
import com.glxp.api.service.system.SystemPDFModuleService;
import com.glxp.api.service.system.SystemPDFTemplateRelevanceService;
import com.glxp.api.service.system.SystemPDFTemplateService;
import com.glxp.api.util.JasperUtils;
import lombok.extern.slf4j.Slf4j;
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.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Slf4j
@RestController
public class BasicOrderPrintController {
@Resource
SystemPDFTemplateRelevanceService systemPDFTemplateRelevanceService;
@Resource
SystemPDFModuleService systemPDFModuleService;
@Resource
SystemPDFTemplateService systemPDFTemplateService;
@Resource
IoOrderDetailBizService ioOrderDetailBizService;
@Resource
IoOrderService ioOrderService;
@Resource
UdiProductService udiProductService;
@Resource
IBasicBussinessTypeService basicBussinessTypeService;
@Resource
IoCodeService ioCodeService;
//校验模板是否正确
@AuthRuleAnnotation("")
@PostMapping("/udiwms/pdf/template/inspection/order/file")
public BaseResponse inspectionStockOrderPDFFromTemplateFile(@RequestBody FilterOrderPrintRequest filterOrderPrintRequest){
SystemPDFTemplateRelevanceEntity systemPDFTemplateRelevanceEntityt=systemPDFTemplateRelevanceService.selectModuleldAndAction(filterOrderPrintRequest.getModuleId(),filterOrderPrintRequest.getAction());
if(systemPDFTemplateRelevanceEntityt!=null){
SystemPDFTemplateEntity systemPDFTemplateEntity=systemPDFTemplateService.selectById(systemPDFTemplateRelevanceEntityt.getTemplateId()+"");
if (systemPDFTemplateEntity==null){
return ResultVOUtils.error(999,"所属模板错误!");
}else{
return ResultVOUtils.success(systemPDFTemplateEntity.getId());
}
}else{
return ResultVOUtils.error(999,"所属模板错误!");
}
}
@AuthRuleAnnotation("")
@PostMapping("/udiwms/pdf/template/order/file")
public void printSupCertProduction(@RequestBody FilterOrderPrintRequest filterOrderPrintRequest, HttpServletRequest request, HttpServletResponse response) throws Exception {
SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(filterOrderPrintRequest.getTemplateId());
//打印单号标签
Map<String, Object> data = new HashMap<>(1);
List<Object> list = new ArrayList<>();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");//定义新的日期格式
//查询打印格式
BasicBussinessTypeEntity basicBussinessTypeEntity=basicBussinessTypeService.findByAction(filterOrderPrintRequest.getAction());
//根据批次号打印
if(basicBussinessTypeEntity.getOrderVisibleType()==0){
//查询单据表
FilterOrderRequest filterOrderRequest=new FilterOrderRequest();
filterOrderRequest.setBillNo(filterOrderPrintRequest.getOrderIdFk());
IoOrderResponse ioOrderResponse= ioOrderService.filterList(filterOrderRequest).get(0);
//查询业务单详情
List<IoOrderDetailBizEntity> ioOrderDetailBizEntityList=ioOrderDetailBizService.findByOrderId(filterOrderPrintRequest.getOrderIdFk());
int i = 1;
if (ioOrderDetailBizEntityList != null && ioOrderDetailBizEntityList.size() > 0) {
for (IoOrderDetailBizEntity obj : ioOrderDetailBizEntityList) {
//查询产品表
UdiProductEntity udiProductEntity=udiProductService.findByUuid(obj.getUuidFk());
//组装数据
Map<String, Object> bizData = new HashMap<>();
bizData.put("index", i);
bizData.put("corpName", ioOrderResponse.getFromName() == null ? ' ' : ioOrderResponse.getFromName());
bizData.put("locInv", ioOrderResponse.getInvName() == null ? ' ' : ioOrderResponse.getInvName());
bizData.put("billNo", ioOrderResponse.getBillNo() == null ? ' ' : ioOrderResponse.getBillNo());
bizData.put("billdate", formatter.format(ioOrderResponse.getCreateTime()));
bizData.put("remark1", obj.getRemark1() == null ? ' ' : obj.getRemark1());
bizData.put("remark2", obj.getRemark2() == null ? ' ' : obj.getRemark2());
// bizData.put("productName", udiProductEntity.getCpms() == null ? ' ' : udiProductEntity.getCpms());
bizData.put("spmc", obj.getCoName() == null ? ' ' : obj.getCoName());
bizData.put("spec", obj.getSpec() == null ? ' ' : obj.getSpec());
bizData.put("count", obj.getCount());
bizData.put("measname", obj.getMeasname() == null ? ' ' : obj.getMeasname());
bizData.put("price", obj.getPrice() == null ? '0' : obj.getPrice());
bizData.put("batchNo", obj.getBatchNo() == null ? ' ' : obj.getBatchNo());
// bizData.put("serialNo", udiProductEntity.getSerialNo() == null ? ' ' : udiProductEntity.getSerialNo());
bizData.put("productDate",obj.getProductDate());
bizData.put("expireDate", obj.getExpireDate());
bizData.put("manufactor", obj.getManufacturer());
// bizData.put("zczbhhzbapzbh",udiProductEntity.getZczbhhzbapzbh() == null ? ' ' : udiProductEntity.getZczbhhzbapzbh());
// bizData.put("ylqxzcrbarmc", udiProductEntity.getYlqxzcrbarmc() == null ? ' ' : udiProductEntity.getYlqxzcrbarmc());
list.add(bizData);
i++;
}
}
}else{
//查询单据表
FilterOrderRequest filterOrderRequest=new FilterOrderRequest();
filterOrderRequest.setBillNo(filterOrderPrintRequest.getOrderIdFk());
IoOrderResponse ioOrderResponse= ioOrderService.filterList(filterOrderRequest).get(0);
//查询扫码单详情
List<IoCodeEntity> ioCodeEntityList=ioCodeService.findByOrderId(filterOrderPrintRequest.getOrderIdFk());
//查询业务单据表
List<IoOrderDetailBizEntity> ioOrderDetailBizEntityList=ioOrderDetailBizService.findByOrderId(filterOrderPrintRequest.getOrderIdFk());
int i = 1;
if (ioCodeEntityList != null && ioCodeEntityList.size() > 0) {
IoOrderDetailBizEntity ioOrderDetailBizEntity=new IoOrderDetailBizEntity();
for (IoCodeEntity obj : ioCodeEntityList) {
//查询业务表
for(IoOrderDetailBizEntity ioObj:ioOrderDetailBizEntityList){
if(ioObj.getBatchNo().equals(obj.getBatchNo()) && ioObj.getBindRlFk().equals(obj.getRelId())){
ioOrderDetailBizEntity=ioObj;
break;
}
}
//组装数据
Map<String, Object> bizData = new HashMap<>();
bizData.put("index", i);
bizData.put("corpName", ioOrderResponse.getFromName() == null ? ' ' : ioOrderResponse.getFromName());
bizData.put("locInv", ioOrderResponse.getInvName() == null ? ' ' : ioOrderResponse.getInvName());
bizData.put("billNo", ioOrderResponse.getBillNo() == null ? ' ' : ioOrderResponse.getBillNo());
bizData.put("billdate", formatter.format(ioOrderResponse.getCreateTime()));
bizData.put("remark1", ioOrderDetailBizEntity.getRemark1() == null ? ' ' : ioOrderDetailBizEntity.getRemark1());
bizData.put("remark2", ioOrderDetailBizEntity.getRemark2() == null ? ' ' : ioOrderDetailBizEntity.getRemark2());
// bizData.put("productName", udiProductEntity.getCpms() == null ? ' ' : udiProductEntity.getCpms());
bizData.put("spmc", ioOrderDetailBizEntity.getCoName() == null ? ' ' : ioOrderDetailBizEntity.getCoName());
bizData.put("spec", ioOrderDetailBizEntity.getSpec() == null ? ' ' : ioOrderDetailBizEntity.getSpec());
bizData.put("count", ioOrderDetailBizEntity.getCount());
bizData.put("measname", ioOrderDetailBizEntity.getMeasname() == null ? ' ' : ioOrderDetailBizEntity.getMeasname());
bizData.put("price", ioOrderDetailBizEntity.getPrice() == null ? '0' : ioOrderDetailBizEntity.getPrice());
bizData.put("batchNo", ioOrderDetailBizEntity.getBatchNo() == null ? ' ' : ioOrderDetailBizEntity.getBatchNo());
bizData.put("serialNo", obj.getSerialNo() == null ? ' ' : obj.getSerialNo());
bizData.put("productDate",ioOrderDetailBizEntity.getProductDate());
bizData.put("expireDate", ioOrderDetailBizEntity.getExpireDate());
bizData.put("manufactor", ioOrderDetailBizEntity.getManufacturer());
// bizData.put("zczbhhzbapzbh",udiProductEntity.getZczbhhzbapzbh() == null ? ' ' : udiProductEntity.getZczbhhzbapzbh());
// bizData.put("ylqxzcrbarmc", udiProductEntity.getYlqxzcrbarmc() == null ? ' ' : udiProductEntity.getYlqxzcrbarmc());
list.add(bizData);
i++;
}
}
}
data.put("data", list);
String param = JSON.toJSONString(data);
JasperUtils.jasperReport(request, response, param, systemPDFTemplateEntity.getPath(), "pdf");
}
}

@ -4,6 +4,7 @@ import com.glxp.api.entity.system.SystemPDFTemplateRelevanceEntity;
import com.glxp.api.req.system.FilterPdfTemplateRelevanceRequest;
import com.glxp.api.res.system.SystemPDFTemplateRelevanceResponse;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -57,4 +58,6 @@ public interface SystemPDFTemplateRelevanceDao {
boolean deleteById(Integer id);
boolean udpateRl(SystemPDFTemplateRelevanceEntity systemPDFTemplateRelevanceEntity);
SystemPDFTemplateRelevanceEntity selectModuleldAndAction(@Param("moduleId") Integer moduleId,@Param("localAction") String localAction);
}

@ -0,0 +1,18 @@
package com.glxp.api.req.basic;
import com.glxp.api.util.page.ListPageRequest;
import lombok.Data;
/**
*
*/
@Data
public class FilterOrderPrintRequest {
private Integer moduleId;
private String action;
private Integer type;
private String templateId;
private String orderIdFk;
}

@ -31,6 +31,7 @@ public interface IoOrderDetailBizService {
List<IoOrderDetailBizResponse> filterList(FilterOrderDetailBizRequest orderDetailBizRequest);
IoOrderDetailBizEntity selectByBatchNoAndBindRlFk(String batchNo,String bindRlFk);
List<IoOrderDetailBizEntity> checkOrderList(String orderId);
}

@ -97,6 +97,19 @@ public class IoOrderDetailBizServiceImpl implements IoOrderDetailBizService {
return ioOrderDetailBizDao.filterList(orderDetailBizRequest);
}
@Override
public IoOrderDetailBizEntity selectByBatchNoAndBindRlFk(String batchNo, String bindRlFk) {
QueryWrapper<IoOrderDetailBizEntity> ew=new QueryWrapper<>();
if (StrUtil.isNotEmpty(batchNo)) {
ew.eq("batchNo",batchNo);
}
if (StrUtil.isNotEmpty(bindRlFk)) {
ew.eq("bindRlFk",bindRlFk);
}
IoOrderDetailBizEntity ioOrderDetailBizEntity=ioOrderDetailBizDao.selectOne(ew);
return ioOrderDetailBizEntity;
}
@Resource
IoOrderDetailCodeService orderDetailCodeService;

@ -17,6 +17,8 @@ public interface SystemPDFTemplateRelevanceService {
List<SystemPDFTemplateRelevanceEntity> listByTemplateId(int templateId);
SystemPDFTemplateRelevanceEntity selectModuleldAndAction(Integer moduleId,String localAction);
int insertSystemPDFTemplateRelevanceAll(List<SystemPDFTemplateRelevanceEntity> systemPDFTemplateRelevanceEntityList);
boolean insert(SystemPDFTemplateRelevanceEntity systemPDFTemplateRelevanceEntity);

@ -64,6 +64,11 @@ public class SystemPDFTemplateRelevanceServiceImpl implements SystemPDFTemplateR
return systemPDFTemplateRelevanceDao.listByTemplateId(templateId);
}
@Override
public SystemPDFTemplateRelevanceEntity selectModuleldAndAction(Integer moduleId, String localAction) {
return systemPDFTemplateRelevanceDao.selectModuleldAndAction(moduleId,localAction);
}
/**
*
*

@ -115,4 +115,17 @@
from sys_pdf_template_relevance
where id = #{id}
</delete>
<select id="selectModuleldAndAction" resultType="com.glxp.api.entity.system.SystemPDFTemplateRelevanceEntity">
SELECT *
FROM sys_pdf_template_relevance
<where>
<if test="moduleId != null">
AND `moduleId` = #{moduleId}
</if>
<if test="localAction != null">
AND `localAction` = #{localAction}
</if>
</where>
</select>
</mapper>

Loading…
Cancel
Save