Commit 2ba19839d7faff30061873aa95dd8a465292a1ff
Merge branch 'master_chujiang' into master_quotation
Showing
12 changed files
with
54 additions
and
9 deletions
| ... | ... | @@ -641,6 +641,9 @@ create table if not exists shipments_plan ( |
| 641 | 641 | update_time datetime default now() comment '更新时间' |
| 642 | 642 | ); |
| 643 | 643 | |
| 644 | +ALTER TABLE `shipments_plan` | |
| 645 | + ADD COLUMN `business_office_auditor` varchar(32) DEFAULT NULL COMMENT '经营办审核人(发货计划提交人)'; | |
| 646 | + | |
| 644 | 647 | -- 发货明细 |
| 645 | 648 | drop table if exists `shipments_plan_detail`; |
| 646 | 649 | create table if not exists `shipments_plan_detail` ( | ... | ... |
| ... | ... | @@ -311,6 +311,18 @@ public class GetPurchaseOrderInfoBo extends BaseBo<PurchaseOrderInfo> { |
| 311 | 311 | private String contractCreateByName; |
| 312 | 312 | |
| 313 | 313 | /** |
| 314 | + * 目的地(合同里的目的地) | |
| 315 | + */ | |
| 316 | + @ApiModelProperty("目的地") | |
| 317 | + private String destination; | |
| 318 | + | |
| 319 | + /** | |
| 320 | + * 下单人手机号(非持久化字段) | |
| 321 | + */ | |
| 322 | + @ApiModelProperty("下单人手机号") | |
| 323 | + private String contractCreateByTelephone; | |
| 324 | + | |
| 325 | + /** | |
| 314 | 326 | * 是否展示审核按钮(非持久化字段) |
| 315 | 327 | */ |
| 316 | 328 | @ApiModelProperty("是否展示审核按钮") | ... | ... |
xingyun-sc/src/main/java/com/lframework/xingyun/sc/controller/order/PurchaseOrderInfoController.java
| ... | ... | @@ -175,6 +175,8 @@ public class PurchaseOrderInfoController extends DefaultBaseController { |
| 175 | 175 | } |
| 176 | 176 | |
| 177 | 177 | GetPurchaseOrderInfoBo result = new GetPurchaseOrderInfoBo(data); |
| 178 | + //目的地 | |
| 179 | + result.setDestination(ExcelUtil.buildPrintDestination(data.getContractType(), data.getDestination(), data.getForeignDestination())); | |
| 178 | 180 | // 判断 contractCreateById 是否等于当前用户 ID |
| 179 | 181 | String currentUserId = SecurityUtil.getCurrentUser().getId(); |
| 180 | 182 | boolean isCreateBy = false; | ... | ... |
| ... | ... | @@ -144,7 +144,7 @@ public class ShipmentsOrderInfoController extends DefaultBaseController { |
| 144 | 144 | * 填写实际发货日期 |
| 145 | 145 | */ |
| 146 | 146 | @ApiOperation("填写实际发货日期") |
| 147 | - @HasPermission({"shipping-plan-manage:invoice:modify"}) | |
| 147 | + @HasPermission({"shipping-plan-manage:invoice:fill-date"}) | |
| 148 | 148 | @PutMapping |
| 149 | 149 | public InvokeResult<Void> update(@Valid UpdateShipmentsOrderInfoVo vo) { |
| 150 | 150 | shipmentsOrderInfoService.updateShipmentDate(vo); |
| ... | ... | @@ -249,6 +249,7 @@ public class ShipmentsOrderInfoController extends DefaultBaseController { |
| 249 | 249 | @Scheduled(cron = "0 8 0 * * ?") |
| 250 | 250 | public InvokeResult<Void> dataHandler() { |
| 251 | 251 | // 只处理今日应该发货但状态仍是未发货的数据,避免已签收/已发货的数据被重复处理 |
| 252 | + log.info("=========定时任务开始执行========"); | |
| 252 | 253 | List<ShipmentsOrderInfo> shipmentsOrderInfoList = shipmentsOrderInfoService.queryUnShipmentsByShipmentDate(LocalDate.now()); |
| 253 | 254 | if (CollectionUtils.isNotEmpty(shipmentsOrderInfoList)) { |
| 254 | 255 | for (ShipmentsOrderInfo orderInfo : shipmentsOrderInfoList) { |
| ... | ... | @@ -400,9 +401,9 @@ public class ShipmentsOrderInfoController extends DefaultBaseController { |
| 400 | 401 | // 发货单明细开始行 |
| 401 | 402 | int startRow = 4; |
| 402 | 403 | DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); |
| 403 | - for (int i = startRow + 1; i < startRow + detailList.size(); i++) { | |
| 404 | - ExcelUtil.copyRow(workbook, sheet, startRow, i); | |
| 405 | - } | |
| 404 | +// for (int i = startRow + 1; i < startRow + detailList.size(); i++) { | |
| 405 | +// ExcelUtil.copyRow(workbook, sheet, startRow, i); | |
| 406 | +// } | |
| 406 | 407 | BigDecimal totalQuantity = BigDecimal.ZERO; |
| 407 | 408 | BigDecimal totalActualQuantity = BigDecimal.ZERO; |
| 408 | 409 | BigDecimal totalNum = BigDecimal.ZERO; |
| ... | ... | @@ -510,9 +511,9 @@ public class ShipmentsOrderInfoController extends DefaultBaseController { |
| 510 | 511 | formulaComponent.setSub(detail.getLengthTolNeg()); |
| 511 | 512 | formulaComponentList.add(formulaComponent); |
| 512 | 513 | } |
| 513 | - String latex = LatexFormulaExcelExporterUtil.convertToLatex(formulaComponentList); | |
| 514 | + String latex = LatexFormulaExcelExporterUtil.convertToContractSpecLatexSingleLineFixed3(formulaComponentList); | |
| 514 | 515 | if (StringUtils.isNotBlank(latex)) { |
| 515 | - LatexFormulaExcelExporterUtil.insertLatexImageToCell(workbook, sheet, latex, startRow, 2, 1, 7); | |
| 516 | + LatexFormulaExcelExporterUtil.insertLatexImageToCellLeftAligned(workbook, sheet, latex, startRow, 2, 1, 7); | |
| 516 | 517 | } |
| 517 | 518 | String materialCode = resultMaterialMap.get(detail.getOrderSpecId()); |
| 518 | 519 | ExcelUtil.setCellValue(sheet, startRow, 9, materialCode); | ... | ... |
| ... | ... | @@ -312,6 +312,12 @@ public class PurchaseOrderInfo extends BaseEntity implements BaseDto { |
| 312 | 312 | @TableField(exist = false) |
| 313 | 313 | private String contractCreateByName; |
| 314 | 314 | |
| 315 | + /** | |
| 316 | + * 下单人手机号(非持久化字段) | |
| 317 | + */ | |
| 318 | + @TableField(exist = false) | |
| 319 | + private String contractCreateByTelephone; | |
| 320 | + | |
| 315 | 321 | |
| 316 | 322 | /** |
| 317 | 323 | * 是否展示审核按钮(非持久化字段) | ... | ... |
| ... | ... | @@ -58,6 +58,11 @@ public class ShipmentsPlan extends BaseEntity implements BaseDto { |
| 58 | 58 | private Boolean autoGenerate; |
| 59 | 59 | |
| 60 | 60 | /** |
| 61 | + * 经营办审核人(发货计划提交人) | |
| 62 | + */ | |
| 63 | + private String businessOfficeAuditor; | |
| 64 | + | |
| 65 | + /** | |
| 61 | 66 | * 创建人ID |
| 62 | 67 | */ |
| 63 | 68 | @TableField(fill = FieldFill.INSERT) | ... | ... |
| ... | ... | @@ -116,6 +116,10 @@ public class ShipmentsPlanServiceImpl extends BaseMpServiceImpl<ShipmentsPlanMap |
| 116 | 116 | LambdaUpdateWrapper<ShipmentsPlan> updateWrapper = Wrappers.lambdaUpdate(ShipmentsPlan.class) |
| 117 | 117 | .set(ShipmentsPlan::getStatus, vo.getStatus()) |
| 118 | 118 | .eq(ShipmentsPlan::getId, vo.getId()); |
| 119 | + // 状态为审核中(CHECKING)时,记录当前提交人作为经营办审核人 | |
| 120 | + if ("CHECKING".equals(vo.getStatus())) { | |
| 121 | + updateWrapper.set(ShipmentsPlan::getBusinessOfficeAuditor, SecurityUtil.getCurrentUser().getId()); | |
| 122 | + } | |
| 119 | 123 | |
| 120 | 124 | getBaseMapper().update(updateWrapper); |
| 121 | 125 | ... | ... |
xingyun-sc/src/main/java/com/lframework/xingyun/sc/impl/shipments/car/CarRequestPlanServiceImpl.java
| ... | ... | @@ -20,6 +20,7 @@ import com.lframework.starter.common.utils.Assert; |
| 20 | 20 | import com.lframework.starter.web.inner.components.oplog.OtherOpLogType; |
| 21 | 21 | import com.lframework.xingyun.sc.entity.*; |
| 22 | 22 | import com.lframework.xingyun.sc.mappers.CarRequestPlanMapper; |
| 23 | +import com.lframework.xingyun.sc.service.shipments.ShipmentsPlanService; | |
| 23 | 24 | import com.lframework.xingyun.sc.service.shipments.car.CarRequestPlanService; |
| 24 | 25 | import com.lframework.xingyun.sc.service.shipments.car.DraftRequestCarTicketService; |
| 25 | 26 | import com.lframework.xingyun.sc.service.shipments.car.RequestCarTicketService; |
| ... | ... | @@ -44,6 +45,8 @@ public class CarRequestPlanServiceImpl extends BaseMpServiceImpl<CarRequestPlanM |
| 44 | 45 | private RequestCarTicketService requestCarTicketService; |
| 45 | 46 | @Resource |
| 46 | 47 | private DraftRequestCarTicketService draftRequestCarTicketService; |
| 48 | + @Resource | |
| 49 | + private ShipmentsPlanService shipmentsPlanService; | |
| 47 | 50 | |
| 48 | 51 | @Override |
| 49 | 52 | public PageResult<CarRequestPlan> query(Integer pageIndex, Integer pageSize, QueryCarRequestPlanVo vo) { |
| ... | ... | @@ -157,6 +160,11 @@ public class CarRequestPlanServiceImpl extends BaseMpServiceImpl<CarRequestPlanM |
| 157 | 160 | List<DraftRequestCarTicket> draftTickets = draftRequestCarTicketService.listByOrderId(orderIds); |
| 158 | 161 | Map<String, DraftRequestCarTicket> draftTicketMap = draftTickets.stream().collect(Collectors.toMap(DraftRequestCarTicket::getPurchaseOrderId, Function.identity() |
| 159 | 162 | , (v1, v2) -> v2)); |
| 163 | + // 获取发货计划,取经营办审核人(发货计划提交人) | |
| 164 | + ShipmentsPlan shipmentsPlan = null; | |
| 165 | + if (StringUtil.isNotBlank(shipmentsOrderInfo.getPlanId())) { | |
| 166 | + shipmentsPlan = shipmentsPlanService.findById(shipmentsOrderInfo.getPlanId()); | |
| 167 | + } | |
| 160 | 168 | for (PurchaseOrderInfo orderInfo : orderInfoList) { |
| 161 | 169 | // 生成要车计划 |
| 162 | 170 | LocalDate requestCarDate = shipmentsOrderInfo.getShipmentsDate(); |
| ... | ... | @@ -185,8 +193,8 @@ public class CarRequestPlanServiceImpl extends BaseMpServiceImpl<CarRequestPlanM |
| 185 | 193 | ticketVo.setShipmentsOrderId(shipmentsOrderInfo.getId()); |
| 186 | 194 | // 外办审核人(草稿要车单审核人) |
| 187 | 195 | ticketVo.setExternalAuditor(draftTicket.getExternalAuditor()); |
| 188 | - // 经营办审核人(发货计划提交人) | |
| 189 | - ticketVo.setBusinessOfficeAuditor(SecurityUtil.getCurrentUser().getId()); | |
| 196 | + // 经营办审核人(发货计划提交人,取自发货计划) | |
| 197 | + ticketVo.setBusinessOfficeAuditor(shipmentsPlan != null ? shipmentsPlan.getBusinessOfficeAuditor() : null); | |
| 190 | 198 | ticketVo.setDestination(draftTicket.getDestination()); |
| 191 | 199 | ticketVo.setConsignee(draftTicket.getConsignee()); |
| 192 | 200 | ticketVo.setPhone(draftTicket.getPhone()); | ... | ... |
| ... | ... | @@ -49,6 +49,7 @@ |
| 49 | 49 | <result column="packaging_fee" property="packagingFee"/> |
| 50 | 50 | <result column="contract_create_by_id" property="contractCreateById"/> |
| 51 | 51 | <result column="contract_create_by_name" property="contractCreateByName"/> |
| 52 | + <result column="contract_create_by_telephone" property="contractCreateByTelephone"/> | |
| 52 | 53 | <result column="sample_order" property="sampleOrder"/> |
| 53 | 54 | <result column="warranty_certificate_file_id" property="warrantyCertificateFileId"/> |
| 54 | 55 | <result column="warranty_certificate_file_name" property="warrantyCertificateFileName"/> |
| ... | ... | @@ -108,6 +109,7 @@ |
| 108 | 109 | tb.packaging_fee, |
| 109 | 110 | tb.contract_create_by_id, |
| 110 | 111 | su.name as contract_create_by_name, |
| 112 | + su.telephone as contract_create_by_telephone, | |
| 111 | 113 | tb.freeze, |
| 112 | 114 | tb.sample_order, |
| 113 | 115 | tb.warranty_certificate_file_id, | ... | ... |
| ... | ... | @@ -10,6 +10,7 @@ |
| 10 | 10 | <result column="tomo_pre_ship_date" property="tomoPreShipDate"/> |
| 11 | 11 | <result column="af_tomo_pre_ship_date" property="afTomoPreShipDate"/> |
| 12 | 12 | <result column="auto_generate" property="autoGenerate"/> |
| 13 | + <result column="business_office_auditor" property="businessOfficeAuditor"/> | |
| 13 | 14 | <result column="create_by_id" property="createById"/> |
| 14 | 15 | <result column="update_by_id" property="updateById"/> |
| 15 | 16 | <result column="create_time" property="createTime"/> |
| ... | ... | @@ -25,6 +26,7 @@ |
| 25 | 26 | tb.tomo_pre_ship_date, |
| 26 | 27 | tb.af_tomo_pre_ship_date, |
| 27 | 28 | tb.auto_generate, |
| 29 | + tb.business_office_auditor, | |
| 28 | 30 | tb.create_by_id, |
| 29 | 31 | tb.update_by_id, |
| 30 | 32 | tb.create_time, |
| ... | ... | @@ -58,7 +60,7 @@ |
| 58 | 60 | ORDER BY tb.create_time DESC |
| 59 | 61 | </select> |
| 60 | 62 | |
| 61 | - <select id="getById" resultType="com.lframework.xingyun.sc.entity.ShipmentsPlan"> | |
| 63 | + <select id="getById" resultMap="ShipmentsPlan"> | |
| 62 | 64 | <include refid="ShipmentsPlan_sql"/> |
| 63 | 65 | <where> |
| 64 | 66 | AND tb.id = #{id} | ... | ... |
No preview for this file type
No preview for this file type