Commit 5f75b3ffef9b9e20550e20d61ffe17f80006f51e

Authored by 房远帅
1 parent 946c90ae

统计报表-品质科订单明细报表

@@ -1443,3 +1443,5 @@ ALTER TABLE purchase_order_info @@ -1443,3 +1443,5 @@ ALTER TABLE purchase_order_info
1443 1443
1444 ALTER TABLE purchase_order_info 1444 ALTER TABLE purchase_order_info
1445 ADD COLUMN warranty_certificate_file_name varchar(200) COMMENT '质保书名称'; 1445 ADD COLUMN warranty_certificate_file_name varchar(200) COMMENT '质保书名称';
  1446 +
  1447 +ALTER TABLE order_detail_report ADD COLUMN production_process text COMMENT '工艺要求';
@@ -284,6 +284,12 @@ public class QueryOrderDetailReportBo extends BaseBo<OrderDetailReport> { @@ -284,6 +284,12 @@ public class QueryOrderDetailReportBo extends BaseBo<OrderDetailReport> {
284 @ApiModelProperty("操作时间") 284 @ApiModelProperty("操作时间")
285 private LocalDateTime createTime; 285 private LocalDateTime createTime;
286 286
  287 + /**
  288 + * 工艺要求
  289 + */
  290 + @ApiModelProperty("工艺要求")
  291 + private String productionProcess;
  292 +
287 public QueryOrderDetailReportBo() { 293 public QueryOrderDetailReportBo() {
288 294
289 } 295 }
@@ -12,6 +12,7 @@ import com.lframework.xingyun.sc.bo.statistics.orderDetail.QueryOrderDetailRepor @@ -12,6 +12,7 @@ import com.lframework.xingyun.sc.bo.statistics.orderDetail.QueryOrderDetailRepor
12 import com.lframework.xingyun.sc.entity.OrderDetailReport; 12 import com.lframework.xingyun.sc.entity.OrderDetailReport;
13 import com.lframework.xingyun.sc.enums.ExportType; 13 import com.lframework.xingyun.sc.enums.ExportType;
14 import com.lframework.xingyun.sc.excel.statistics.OrderDetailReportExportTaskWorker; 14 import com.lframework.xingyun.sc.excel.statistics.OrderDetailReportExportTaskWorker;
  15 +import com.lframework.xingyun.sc.excel.statistics.QualityOrderDetailReportExportTaskWorker;
15 import com.lframework.xingyun.sc.service.statistics.OrderDetailReportService; 16 import com.lframework.xingyun.sc.service.statistics.OrderDetailReportService;
16 import com.lframework.xingyun.sc.vo.statistics.orderDetail.CreateOrderDetailReportVo; 17 import com.lframework.xingyun.sc.vo.statistics.orderDetail.CreateOrderDetailReportVo;
17 import com.lframework.xingyun.sc.vo.statistics.orderDetail.QueryOrderDetailReportVo; 18 import com.lframework.xingyun.sc.vo.statistics.orderDetail.QueryOrderDetailReportVo;
@@ -115,4 +116,16 @@ public class OrderDetailReportController extends DefaultBaseController { @@ -115,4 +116,16 @@ public class OrderDetailReportController extends DefaultBaseController {
115 116
116 return InvokeResultBuilder.success(); 117 return InvokeResultBuilder.success();
117 } 118 }
  119 +
  120 + /**
  121 + * 品质科订单明细导出
  122 + */
  123 + @ApiOperation("品质科订单明细导出")
  124 + @HasPermission({"statistical-report:order-detail:export"})
  125 + @PostMapping("/quality/export")
  126 + public InvokeResult<Void> qualityExport(@Valid @RequestBody QueryOrderDetailReportVo vo) {
  127 + vo.setExportType(ExportType.QUALITY_ORDER_DETAIL_REPORT.getCode());
  128 + ExportTaskUtil.exportTask("品质科订单明细报表", QualityOrderDetailReportExportTaskWorker.class, vo);
  129 + return InvokeResultBuilder.success();
  130 + }
118 } 131 }
@@ -246,6 +246,11 @@ public class OrderDetailReport extends BaseEntity implements BaseDto { @@ -246,6 +246,11 @@ public class OrderDetailReport extends BaseEntity implements BaseDto {
246 private String type; 246 private String type;
247 247
248 /** 248 /**
  249 + * 工艺要求
  250 + */
  251 + private String productionProcess;
  252 +
  253 + /**
249 * 创建人ID 254 * 创建人ID
250 */ 255 */
251 @TableField(fill = FieldFill.INSERT) 256 @TableField(fill = FieldFill.INSERT)
@@ -13,6 +13,7 @@ public enum ExportType implements BaseEnum<String> { @@ -13,6 +13,7 @@ public enum ExportType implements BaseEnum<String> {
13 SHIPMENT_DETAIL_REPORT("SHIPMENT_DETAIL_REPORT", "发货明细报表"), 13 SHIPMENT_DETAIL_REPORT("SHIPMENT_DETAIL_REPORT", "发货明细报表"),
14 ORDER_DETAIL_REPORT("ORDER_DETAIL_REPORT", "订单明细报表"), 14 ORDER_DETAIL_REPORT("ORDER_DETAIL_REPORT", "订单明细报表"),
15 ORDER_EXPORT_ZIP("ORDER_EXPORT_ZIP", "订货单信息"), 15 ORDER_EXPORT_ZIP("ORDER_EXPORT_ZIP", "订货单信息"),
  16 + QUALITY_ORDER_DETAIL_REPORT("QUALITY_ORDER_DETAIL_REPORT", "品质科订单明细报表"),
16 17
17 18
18 ; 19 ;
  1 +package com.lframework.xingyun.sc.excel.statistics;
  2 +
  3 +import com.lframework.starter.common.utils.CollectionUtil;
  4 +import com.lframework.starter.mq.core.components.export.ExportTaskWorker;
  5 +import com.lframework.starter.web.core.components.resp.PageResult;
  6 +import com.lframework.starter.web.core.utils.ApplicationUtil;
  7 +import com.lframework.starter.web.core.utils.JsonUtil;
  8 +import com.lframework.starter.web.core.utils.PageResultUtil;
  9 +import com.lframework.xingyun.sc.bo.statistics.orderDetail.QueryOrderDetailReportBo;
  10 +import com.lframework.xingyun.sc.entity.OrderDetailReport;
  11 +import com.lframework.xingyun.sc.service.statistics.OrderDetailReportService;
  12 +import com.lframework.xingyun.sc.utils.CommonUtil;
  13 +import com.lframework.xingyun.sc.vo.statistics.orderDetail.QueryOrderDetailReportVo;
  14 +
  15 +import java.util.List;
  16 +import java.util.stream.Collectors;
  17 +
  18 +
  19 +public class QualityOrderDetailReportExportTaskWorker implements
  20 + ExportTaskWorker<QueryOrderDetailReportVo, QueryOrderDetailReportBo, QualityOrderDetailStatisticsModel> {
  21 +
  22 +
  23 + @Override
  24 + public QueryOrderDetailReportVo parseParams(String json) {
  25 + return JsonUtil.parseObject(json, QueryOrderDetailReportVo.class);
  26 + }
  27 +
  28 + @Override
  29 + public PageResult<QueryOrderDetailReportBo> getDataList(int pageIndex, int pageSize, QueryOrderDetailReportVo params) {
  30 + OrderDetailReportService orderDetailReportService = ApplicationUtil.getBean(OrderDetailReportService.class);
  31 + PageResult<OrderDetailReport> pageResult = orderDetailReportService.query(pageIndex, pageSize, params);
  32 + List<QueryOrderDetailReportBo> results = null;
  33 + if (!CollectionUtil.isEmpty(pageResult.getDatas())) {
  34 + results = pageResult.getDatas().stream().map(QueryOrderDetailReportBo::new).collect(Collectors.toList());
  35 + }
  36 + return PageResultUtil.rebuild(pageResult, results);
  37 + }
  38 +
  39 + @Override
  40 + public QualityOrderDetailStatisticsModel exportData(QueryOrderDetailReportBo data) {
  41 + // 公差数据处理
  42 + String thicknessTol = CommonUtil.handleTolData(
  43 + data.getThicknessTolPos() != null ? data.getThicknessTolPos().doubleValue() : null,
  44 + data.getThicknessTolNeg() != null ? data.getThicknessTolNeg().doubleValue() : null);
  45 + String widthTol = CommonUtil.handleTolData(
  46 + data.getWidthTolPos() != null ? data.getWidthTolPos().doubleValue() : null,
  47 + data.getWidthTolNeg() != null ? data.getWidthTolNeg().doubleValue() : null);
  48 + String lengthTol = CommonUtil.handleTolData(
  49 + data.getLengthTolPos() != null ? data.getLengthTolPos().doubleValue() : null,
  50 + data.getLengthTolNeg() != null ? data.getLengthTolNeg().doubleValue() : null);
  51 +
  52 + QualityOrderDetailStatisticsModel model = JsonUtil.parseObject(JsonUtil.toJsonString(data), QualityOrderDetailStatisticsModel.class);
  53 + model.setThicknessTol(thicknessTol);
  54 + model.setWidthTol(widthTol);
  55 + model.setLengthTol(lengthTol);
  56 + return model;
  57 + }
  58 +
  59 + @Override
  60 + public Class<QualityOrderDetailStatisticsModel> getModelClass() {
  61 + return QualityOrderDetailStatisticsModel.class;
  62 + }
  63 +}
  1 +package com.lframework.xingyun.sc.excel.statistics;
  2 +
  3 +import com.alibaba.excel.annotation.ExcelProperty;
  4 +import com.lframework.starter.web.core.components.excel.ExcelModel;
  5 +import lombok.Data;
  6 +
  7 +import java.math.BigDecimal;
  8 +
  9 +/**
  10 + * <p>
  11 + * 品质科订单明细Excel Model
  12 + * </p>
  13 + *
  14 + */
  15 +@Data
  16 +public class QualityOrderDetailStatisticsModel implements ExcelModel {
  17 +
  18 + /**
  19 + * 订单编号
  20 + */
  21 + @ExcelProperty("订单编号")
  22 + private String orderNo;
  23 +
  24 + /**
  25 + * 订货日期
  26 + */
  27 + @ExcelProperty("订货日期")
  28 + private String orderDate;
  29 +
  30 + /**
  31 + * 生产厂
  32 + */
  33 + @ExcelProperty("生产厂")
  34 + private String workshopName;
  35 +
  36 + /**
  37 + * 科办
  38 + */
  39 + @ExcelProperty("科办")
  40 + private String deptName;
  41 +
  42 + /**
  43 + * 片
  44 + */
  45 + @ExcelProperty("片")
  46 + private String regionName;
  47 +
  48 + /**
  49 + * 订货单位名称
  50 + */
  51 + @ExcelProperty("订货单位名称")
  52 + private String orderingUnitName;
  53 +
  54 + /**
  55 + * 行业(用途)
  56 + */
  57 + @ExcelProperty("行业(用途)")
  58 + private String industry;
  59 +
  60 + /**
  61 + * 高新标识
  62 + */
  63 + @ExcelProperty("高新标识")
  64 + private String highTechLogo;
  65 +
  66 + /**
  67 + * 牌号
  68 + */
  69 + @ExcelProperty("牌号")
  70 + private String brand;
  71 +
  72 + /**
  73 + * 厚
  74 + */
  75 + @ExcelProperty("厚")
  76 + private BigDecimal thickness;
  77 +
  78 + /**
  79 + * 厚差
  80 + */
  81 + @ExcelProperty("厚差")
  82 + private String thicknessTol;
  83 +
  84 + /**
  85 + * 宽
  86 + */
  87 + @ExcelProperty("宽")
  88 + private BigDecimal width;
  89 +
  90 + /**
  91 + * 宽差
  92 + */
  93 + @ExcelProperty("宽差")
  94 + private String widthTol;
  95 +
  96 + /**
  97 + * 长
  98 + */
  99 + @ExcelProperty("长")
  100 + private BigDecimal length;
  101 +
  102 + /**
  103 + * 长差
  104 + */
  105 + @ExcelProperty("长差")
  106 + private String lengthTol;
  107 +
  108 + /**
  109 + * 状态
  110 + */
  111 + @ExcelProperty("状态")
  112 + private String status;
  113 +
  114 + /**
  115 + * 数量
  116 + */
  117 + @ExcelProperty("数量")
  118 + private BigDecimal quantity;
  119 +
  120 + /**
  121 + * 发货日期
  122 + */
  123 + @ExcelProperty("发货日期")
  124 + private String deliveryDate;
  125 +
  126 + /**
  127 + * 工艺要求
  128 + */
  129 + @ExcelProperty("工艺要求")
  130 + private String productionProcess;
  131 +
  132 + /**
  133 + * 件重条头
  134 + */
  135 + @ExcelProperty("件重条头")
  136 + private String pieceWeightHeader;
  137 +
  138 + /**
  139 + * 表面
  140 + */
  141 + @ExcelProperty("表面")
  142 + private String surface;
  143 +
  144 + /**
  145 + * 公差
  146 + */
  147 + @ExcelProperty("公差")
  148 + private String tolerance;
  149 +
  150 + /**
  151 + * 性能
  152 + */
  153 + @ExcelProperty("性能")
  154 + private String performance;
  155 +
  156 + /**
  157 + * 包装
  158 + */
  159 + @ExcelProperty("包装")
  160 + private String packaging;
  161 +
  162 + /**
  163 + * 特别注重要求
  164 + */
  165 + @ExcelProperty("特别注重要求")
  166 + private String specialRequirements;
  167 +
  168 + /**
  169 + * 备注
  170 + */
  171 + @ExcelProperty("备注")
  172 + private String remarks;
  173 +
  174 + /**
  175 + * 客户类型
  176 + */
  177 + @ExcelProperty("客户类型")
  178 + private String customerType;
  179 +
  180 + /**
  181 + * 加工经销
  182 + */
  183 + @ExcelProperty("加工经销")
  184 + private String contractType;
  185 +
  186 + /**
  187 + * 备货单位/人(生产标准)
  188 + */
  189 + @ExcelProperty("备货单位/人(生产标准)")
  190 + private String stockUpCompanyName;
  191 +
  192 +}
@@ -549,6 +549,7 @@ public class PurchaseOrderInfoServiceImpl extends BaseMpServiceImpl<PurchaseOrde @@ -549,6 +549,7 @@ public class PurchaseOrderInfoServiceImpl extends BaseMpServiceImpl<PurchaseOrde
549 vo1.setRemarks(vo.getRemarks()); 549 vo1.setRemarks(vo.getRemarks());
550 vo1.setShippingCost(vo.getShippingCost()); 550 vo1.setShippingCost(vo.getShippingCost());
551 vo1.setSalesPrice(updatePurchaseOrderLineVo.getSalesPrice()); 551 vo1.setSalesPrice(updatePurchaseOrderLineVo.getSalesPrice());
  552 + vo1.setProductionProcess(vo.getProductionProcess());
552 orderDetailReportService.update(vo1); 553 orderDetailReportService.update(vo1);
553 } 554 }
554 } 555 }
@@ -120,5 +120,11 @@ public class UpdateOrderDetailReportVo implements BaseVo, Serializable { @@ -120,5 +120,11 @@ public class UpdateOrderDetailReportVo implements BaseVo, Serializable {
120 @ApiModelProperty("销售价格") 120 @ApiModelProperty("销售价格")
121 private BigDecimal salesPrice; 121 private BigDecimal salesPrice;
122 122
  123 + /**
  124 + * 工艺要求
  125 + */
  126 + @ApiModelProperty("工艺要求")
  127 + private String productionProcess;
  128 +
123 129
124 } 130 }
@@ -47,6 +47,7 @@ @@ -47,6 +47,7 @@
47 <result column="order_type" property="orderType"/> 47 <result column="order_type" property="orderType"/>
48 <result column="show_order" property="showOrder"/> 48 <result column="show_order" property="showOrder"/>
49 <result column="type" property="type"/> 49 <result column="type" property="type"/>
  50 + <result column="production_process" property="productionProcess"/>
50 <result column="create_by_id" property="createById"/> 51 <result column="create_by_id" property="createById"/>
51 <result column="create_by" property="createBy"/> 52 <result column="create_by" property="createBy"/>
52 <result column="update_by_id" property="updateById"/> 53 <result column="update_by_id" property="updateById"/>
@@ -189,6 +190,7 @@ @@ -189,6 +190,7 @@
189 tb.order_type, 190 tb.order_type,
190 tb.show_order, 191 tb.show_order,
191 tb.type, 192 tb.type,
  193 + tb.production_process,
192 tb.create_by_id, 194 tb.create_by_id,
193 tb.create_by, 195 tb.create_by,
194 tb.update_by_id, 196 tb.update_by_id,