Commit 2dc0022c736392bb9d8db7e264bddb6537036f62

Authored by 房远帅
1 parent 56d033c8

楚江ERP:订货单打印优化

@@ -21,6 +21,7 @@ import com.lframework.starter.web.inner.service.system.*; @@ -21,6 +21,7 @@ import com.lframework.starter.web.inner.service.system.*;
21 import com.lframework.xingyun.sc.bo.order.GetPurchaseOrderInfoBo; 21 import com.lframework.xingyun.sc.bo.order.GetPurchaseOrderInfoBo;
22 import com.lframework.xingyun.sc.entity.PurchaseOrderInfo; 22 import com.lframework.xingyun.sc.entity.PurchaseOrderInfo;
23 import com.lframework.xingyun.sc.entity.PurchaseOrderLine; 23 import com.lframework.xingyun.sc.entity.PurchaseOrderLine;
  24 +import com.lframework.xingyun.sc.handlers.TransactorHandler;
24 import com.lframework.xingyun.sc.service.order.PurchaseOrderInfoService; 25 import com.lframework.xingyun.sc.service.order.PurchaseOrderInfoService;
25 import com.lframework.xingyun.sc.service.order.PurchaseOrderLineService; 26 import com.lframework.xingyun.sc.service.order.PurchaseOrderLineService;
26 import com.lframework.xingyun.sc.utils.LatexFormulaExcelExporterUtil; 27 import com.lframework.xingyun.sc.utils.LatexFormulaExcelExporterUtil;
@@ -79,7 +80,8 @@ public class PurchaseOrderInfoController extends DefaultBaseController { @@ -79,7 +80,8 @@ public class PurchaseOrderInfoController extends DefaultBaseController {
79 private SysDeptService sysDeptService; 80 private SysDeptService sysDeptService;
80 @Resource 81 @Resource
81 private FlowTaskWrapperMapper flowTaskWrapperMapper; 82 private FlowTaskWrapperMapper flowTaskWrapperMapper;
82 - 83 + @Resource
  84 + private TransactorHandler transactorHandler;
83 85
84 /** 86 /**
85 * 查询列表 87 * 查询列表
@@ -257,13 +259,13 @@ public class PurchaseOrderInfoController extends DefaultBaseController { @@ -257,13 +259,13 @@ public class PurchaseOrderInfoController extends DefaultBaseController {
257 return InvokeResultBuilder.success(); 259 return InvokeResultBuilder.success();
258 } 260 }
259 261
260 - @ApiOperation("订单打印") 262 + @ApiOperation("订单打印")
261 @GetMapping("/printPurchaseOrder") 263 @GetMapping("/printPurchaseOrder")
262 public void printPurchaseOrder(@NotBlank(message = "id不能为空") String id, HttpServletResponse response) throws IOException { 264 public void printPurchaseOrder(@NotBlank(message = "id不能为空") String id, HttpServletResponse response) throws IOException {
263 PurchaseOrderInfo data = purchaseOrderInfoService.findById(id); 265 PurchaseOrderInfo data = purchaseOrderInfoService.findById(id);
264 266
265 // 设置响应头 267 // 设置响应头
266 - setupResponse(response, data.getOrderNo() + "-订单打印.xlsx"); 268 + setupResponse(response, data.getOrderNo() + "-订单打印.xlsx");
267 269
268 Wrapper<PurchaseOrderLine> purchaseOrderLineWrapper = Wrappers.lambdaQuery(PurchaseOrderLine.class) 270 Wrapper<PurchaseOrderLine> purchaseOrderLineWrapper = Wrappers.lambdaQuery(PurchaseOrderLine.class)
269 .eq(PurchaseOrderLine::getPurchaseOrderId, id); 271 .eq(PurchaseOrderLine::getPurchaseOrderId, id);
@@ -353,7 +355,25 @@ public class PurchaseOrderInfoController extends DefaultBaseController { @@ -353,7 +355,25 @@ public class PurchaseOrderInfoController extends DefaultBaseController {
353 dataMap.put("remarks", data.getRemarks()); 355 dataMap.put("remarks", data.getRemarks());
354 dataMap.put("createUser", data.getCreateBy()); 356 dataMap.put("createUser", data.getCreateBy());
355 dataMap.put("element", data.getElement()); 357 dataMap.put("element", data.getElement());
356 - 358 + //终端=客户资信的企业类型()
  359 + String et = data.getEnterpriseType();
  360 + dataMap.put("enterpriseType",
  361 + "DEALER".equals(et) ? "经销商" :
  362 + "TERMINAL".equals(et) ? "终端" : "");
  363 + //办事处
  364 + String deptCode = transactorHandler.returnDeptCode(data.getContractCreateById());
  365 + dataMap.put("officeName", returnDeptName(deptCode));
  366 + //区域=创建人部门名称
  367 + List<SysUserDept> sysUserDeptList = sysUserDeptService.getByUserId(data.getContractCreateById());
  368 + String deptName = "";
  369 + if (CollectionUtils.isNotEmpty(sysUserDeptList)) {
  370 + deptName = sysUserDeptList.stream()
  371 + .map(sysUserDept -> sysDeptService.findById(sysUserDept.getDeptId()))
  372 + .filter(Objects::nonNull) // 防止 findById 返回 null
  373 + .map(SysDept::getName)
  374 + .collect(Collectors.joining(","));
  375 + }
  376 + dataMap.put("deptName", deptName);
357 377
358 378
359 processTemplate(workbook, dataMap); 379 processTemplate(workbook, dataMap);
@@ -376,6 +396,30 @@ public class PurchaseOrderInfoController extends DefaultBaseController { @@ -376,6 +396,30 @@ public class PurchaseOrderInfoController extends DefaultBaseController {
376 } 396 }
377 } 397 }
378 398
  399 + private String returnDeptName(String deptCode) {
  400 + String deptName;
  401 + if ("BF".equals(deptCode)) {
  402 + deptName = "北方";
  403 + } else if ("CZ".equals(deptCode)) {
  404 + deptName = "常州";
  405 + } else if ("DG".equals(deptCode)) {
  406 + deptName = "东莞";
  407 + } else if ("FS".equals(deptCode)) {
  408 + deptName = "佛山";
  409 + } else if ("NB".equals(deptCode)) {
  410 + deptName = "宁波";
  411 + } else if ("SZ".equals(deptCode)) {
  412 + deptName = "苏州";
  413 + } else if ("WZ".equals(deptCode)) {
  414 + deptName = "温州";
  415 + } else if ("ZT".equals(deptCode)) {
  416 + deptName = "紫铜";
  417 + } else {
  418 + deptName = ""; // 包括 null 和其他无效值
  419 + }
  420 + return deptName;
  421 + }
  422 +
379 /** 423 /**
380 * 设置HTTP响应头 424 * 设置HTTP响应头
381 */ 425 */
@@ -211,6 +211,12 @@ public class PurchaseOrderInfo extends BaseEntity implements BaseDto { @@ -211,6 +211,12 @@ public class PurchaseOrderInfo extends BaseEntity implements BaseDto {
211 private String customerTier; 211 private String customerTier;
212 212
213 /** 213 /**
  214 + * 客户资信企业类型(非持久化字段)
  215 + */
  216 + @TableField(exist = false)
  217 + private String enterpriseType;
  218 +
  219 + /**
214 * 规格变更状态 220 * 规格变更状态
215 */ 221 */
216 private String specChangeStatus; 222 private String specChangeStatus;
@@ -204,8 +204,8 @@ public class LatexFormulaExcelExporterUtil { @@ -204,8 +204,8 @@ public class LatexFormulaExcelExporterUtil {
204 anchor.setRow2(rowIndex + rowRange); // 结束于下一行 204 anchor.setRow2(rowIndex + rowRange); // 结束于下一行
205 205
206 // 设置较小的起始偏移 206 // 设置较小的起始偏移
207 - anchor.setDx1(50); // 水平偏移(建议值:10-100)  
208 - anchor.setDy1(25); // 垂直偏移(建议值:10-50) 207 + anchor.setDx1(10000); // 水平偏移(建议值:10-100)
  208 + anchor.setDy1(10000); // 垂直偏移(建议值:10-50)
209 209
210 210
211 // 5. 创建图片并插入 211 // 5. 创建图片并插入
@@ -213,7 +213,7 @@ public class LatexFormulaExcelExporterUtil { @@ -213,7 +213,7 @@ public class LatexFormulaExcelExporterUtil {
213 213
214 // 6. 自动调整图片大小以适应单元格 (可选) 214 // 6. 自动调整图片大小以适应单元格 (可选)
215 // 取消注释此行使图片自动适应锚点区域 215 // 取消注释此行使图片自动适应锚点区域
216 -// pict.resize(0.95); // 缩小到90%,自然产生边距 216 + pict.resize(0.95); // 缩小到90%,自然产生边距
217 } 217 }
218 218
219 @Data 219 @Data
@@ -36,6 +36,7 @@ @@ -36,6 +36,7 @@
36 <result column="workshop_name" property="workshopName"/> 36 <result column="workshop_name" property="workshopName"/>
37 <result column="customer_credit_id" property="customerCreditId"/> 37 <result column="customer_credit_id" property="customerCreditId"/>
38 <result column="customer_tier" property="customerTier"/> 38 <result column="customer_tier" property="customerTier"/>
  39 + <result column="enterprise_type" property="enterpriseType"/>
39 <result column="type" property="type"/> 40 <result column="type" property="type"/>
40 <result column="total_quantity" property="totalQuantity"/> 41 <result column="total_quantity" property="totalQuantity"/>
41 <result column="packaging_fee" property="packagingFee"/> 42 <result column="packaging_fee" property="packagingFee"/>
@@ -84,6 +85,7 @@ @@ -84,6 +85,7 @@
84 ws.name AS workshop_name, 85 ws.name AS workshop_name,
85 tb.customer_credit_id, 86 tb.customer_credit_id,
86 cc.company_suggested_category AS customer_tier, 87 cc.company_suggested_category AS customer_tier,
  88 + cc.enterprise_type,
87 tb.type, 89 tb.type,
88 tb.total_quantity, 90 tb.total_quantity,
89 tb.packaging_fee, 91 tb.packaging_fee,