Commit ed47a6c48d100bff31ea20c7157f97466b3a7ce8
1 parent
b59694ad
1:订货单加一个完成日期(订货单审核通过时间) 2:发货计划表明细表按照办事处排序 3:业务员报价 协调事由 票类状况 变为可编辑
Showing
10 changed files
with
95 additions
and
16 deletions
| @@ -323,6 +323,9 @@ CREATE TABLE IF NOT EXISTS `purchase_order_info` | @@ -323,6 +323,9 @@ CREATE TABLE IF NOT EXISTS `purchase_order_info` | ||
| 323 | KEY `idx_order_date` (`order_date`) | 323 | KEY `idx_order_date` (`order_date`) |
| 324 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COMMENT='订货单表'; | 324 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COMMENT='订货单表'; |
| 325 | 325 | ||
| 326 | +ALTER TABLE `purchase_order_info` | ||
| 327 | + ADD COLUMN `finish_date` datetime DEFAULT NULL COMMENT '完成日期(审核通过时间)'; | ||
| 328 | + | ||
| 326 | -- 订货单表物料行 | 329 | -- 订货单表物料行 |
| 327 | DROP TABLE IF EXISTS `tbl_purchase_order_line`; | 330 | DROP TABLE IF EXISTS `tbl_purchase_order_line`; |
| 328 | CREATE TABLE IF NOT EXISTS `tbl_purchase_order_line` | 331 | CREATE TABLE IF NOT EXISTS `tbl_purchase_order_line` |
| @@ -275,6 +275,13 @@ public class GetPurchaseOrderInfoBo extends BaseBo<PurchaseOrderInfo> { | @@ -275,6 +275,13 @@ public class GetPurchaseOrderInfoBo extends BaseBo<PurchaseOrderInfo> { | ||
| 275 | private String specChangeStatus; | 275 | private String specChangeStatus; |
| 276 | 276 | ||
| 277 | /** | 277 | /** |
| 278 | + * 完成日期(审核通过时间,精确到时分秒) | ||
| 279 | + */ | ||
| 280 | + @ApiModelProperty("完成日期") | ||
| 281 | + @JsonFormat(pattern = StringPool.DATE_TIME_PATTERN) | ||
| 282 | + private LocalDateTime finishDate; | ||
| 283 | + | ||
| 284 | + /** | ||
| 278 | * 订货单类型(生产:PRODUCTION 无需生产:NO_PRODUCTION) | 285 | * 订货单类型(生产:PRODUCTION 无需生产:NO_PRODUCTION) |
| 279 | */ | 286 | */ |
| 280 | @ApiModelProperty("订货单类型") | 287 | @ApiModelProperty("订货单类型") |
| @@ -256,6 +256,11 @@ public class PurchaseOrderInfo extends BaseEntity implements BaseDto { | @@ -256,6 +256,11 @@ public class PurchaseOrderInfo extends BaseEntity implements BaseDto { | ||
| 256 | private String specChangeStatus; | 256 | private String specChangeStatus; |
| 257 | 257 | ||
| 258 | /** | 258 | /** |
| 259 | + * 完成日期(审核通过时间,精确到时分秒) | ||
| 260 | + */ | ||
| 261 | + private LocalDateTime finishDate; | ||
| 262 | + | ||
| 263 | + /** | ||
| 259 | * 订货单类型(生产:PRODUCTION 无需生产:NO_PRODUCTION) | 264 | * 订货单类型(生产:PRODUCTION 无需生产:NO_PRODUCTION) |
| 260 | */ | 265 | */ |
| 261 | private String type; | 266 | private String type; |
| @@ -51,6 +51,7 @@ import org.springframework.stereotype.Service; | @@ -51,6 +51,7 @@ import org.springframework.stereotype.Service; | ||
| 51 | import javax.annotation.Resource; | 51 | import javax.annotation.Resource; |
| 52 | import java.math.BigDecimal; | 52 | import java.math.BigDecimal; |
| 53 | import java.math.RoundingMode; | 53 | import java.math.RoundingMode; |
| 54 | +import java.time.LocalDateTime; | ||
| 54 | import java.util.*; | 55 | import java.util.*; |
| 55 | import java.util.function.Function; | 56 | import java.util.function.Function; |
| 56 | import java.util.stream.Collectors; | 57 | import java.util.stream.Collectors; |
| @@ -605,7 +606,8 @@ public class PurchaseOrderInfoServiceImpl extends BaseMpServiceImpl<PurchaseOrde | @@ -605,7 +606,8 @@ public class PurchaseOrderInfoServiceImpl extends BaseMpServiceImpl<PurchaseOrde | ||
| 605 | if ("PASS".equals(status)) { | 606 | if ("PASS".equals(status)) { |
| 606 | LambdaUpdateWrapper<PurchaseOrderInfo> updateWrapper = Wrappers.lambdaUpdate(PurchaseOrderInfo.class) | 607 | LambdaUpdateWrapper<PurchaseOrderInfo> updateWrapper = Wrappers.lambdaUpdate(PurchaseOrderInfo.class) |
| 607 | .set(PurchaseOrderInfo::getExamineStatus, status) | 608 | .set(PurchaseOrderInfo::getExamineStatus, status) |
| 608 | - .set(PurchaseOrderInfo::getStatus, "ISSUED")//已下发 | 609 | + .set(PurchaseOrderInfo::getStatus, "ISSUED") |
| 610 | + .set(PurchaseOrderInfo::getFinishDate, LocalDateTime.now()) | ||
| 609 | .eq(PurchaseOrderInfo::getId, id); | 611 | .eq(PurchaseOrderInfo::getId, id); |
| 610 | getBaseMapper().update(updateWrapper); | 612 | getBaseMapper().update(updateWrapper); |
| 611 | } else if ("WAIT".equals(status)) { | 613 | } else if ("WAIT".equals(status)) { |
| @@ -99,16 +99,6 @@ public class SalesmanQuotationServiceImpl | @@ -99,16 +99,6 @@ public class SalesmanQuotationServiceImpl | ||
| 99 | private static final String CODE_PREFIX = "BJ"; | 99 | private static final String CODE_PREFIX = "BJ"; |
| 100 | 100 | ||
| 101 | /** | 101 | /** |
| 102 | - * 默认协调事由 | ||
| 103 | - */ | ||
| 104 | - private static final String DEFAULT_COORDINATION_REASON = "受市场影响,申请协调"; | ||
| 105 | - | ||
| 106 | - /** | ||
| 107 | - * 默认票类状况 | ||
| 108 | - */ | ||
| 109 | - private static final String DEFAULT_INVOICE_TYPE_STATUS = "增票"; | ||
| 110 | - | ||
| 111 | - /** | ||
| 112 | * 分页查询 | 102 | * 分页查询 |
| 113 | * | 103 | * |
| 114 | * @param pageIndex 页码 | 104 | * @param pageIndex 页码 |
| @@ -388,8 +378,8 @@ public class SalesmanQuotationServiceImpl | @@ -388,8 +378,8 @@ public class SalesmanQuotationServiceImpl | ||
| 388 | data.setDeliveryDate(vo.getDeliveryDate()); | 378 | data.setDeliveryDate(vo.getDeliveryDate()); |
| 389 | data.setSettlementMethod(vo.getSettlementMethod()); | 379 | data.setSettlementMethod(vo.getSettlementMethod()); |
| 390 | data.setSettlementRatio(vo.getSettlementRatio()); | 380 | data.setSettlementRatio(vo.getSettlementRatio()); |
| 391 | - data.setCoordinationReason(DEFAULT_COORDINATION_REASON); | ||
| 392 | - data.setInvoiceTypeStatus(DEFAULT_INVOICE_TYPE_STATUS); | 381 | + data.setCoordinationReason(vo.getCoordinationReason()); |
| 382 | + data.setInvoiceTypeStatus(vo.getInvoiceTypeStatus()); | ||
| 393 | data.setMaterialConditionEnabled(vo.getMaterialConditionEnabled()); | 383 | data.setMaterialConditionEnabled(vo.getMaterialConditionEnabled()); |
| 394 | data.setMaterialConditionCopperRice(normalizeMaterialText(vo.getMaterialConditionEnabled(), vo.getMaterialConditionCopperRice())); | 384 | data.setMaterialConditionCopperRice(normalizeMaterialText(vo.getMaterialConditionEnabled(), vo.getMaterialConditionCopperRice())); |
| 395 | data.setMaterialConditionBrightCopper(normalizeMaterialText(vo.getMaterialConditionEnabled(), vo.getMaterialConditionBrightCopper())); | 385 | data.setMaterialConditionBrightCopper(normalizeMaterialText(vo.getMaterialConditionEnabled(), vo.getMaterialConditionBrightCopper())); |
| @@ -433,8 +423,8 @@ public class SalesmanQuotationServiceImpl | @@ -433,8 +423,8 @@ public class SalesmanQuotationServiceImpl | ||
| 433 | data.setDeliveryDate(vo.getDeliveryDate()); | 423 | data.setDeliveryDate(vo.getDeliveryDate()); |
| 434 | data.setSettlementMethod(vo.getSettlementMethod()); | 424 | data.setSettlementMethod(vo.getSettlementMethod()); |
| 435 | data.setSettlementRatio(vo.getSettlementRatio()); | 425 | data.setSettlementRatio(vo.getSettlementRatio()); |
| 436 | - data.setCoordinationReason(DEFAULT_COORDINATION_REASON); | ||
| 437 | - data.setInvoiceTypeStatus(DEFAULT_INVOICE_TYPE_STATUS); | 426 | + data.setCoordinationReason(vo.getCoordinationReason()); |
| 427 | + data.setInvoiceTypeStatus(vo.getInvoiceTypeStatus()); | ||
| 438 | data.setMaterialConditionEnabled(vo.getMaterialConditionEnabled()); | 428 | data.setMaterialConditionEnabled(vo.getMaterialConditionEnabled()); |
| 439 | data.setMaterialConditionCopperRice(normalizeMaterialText(vo.getMaterialConditionEnabled(), vo.getMaterialConditionCopperRice())); | 429 | data.setMaterialConditionCopperRice(normalizeMaterialText(vo.getMaterialConditionEnabled(), vo.getMaterialConditionCopperRice())); |
| 440 | data.setMaterialConditionBrightCopper(normalizeMaterialText(vo.getMaterialConditionEnabled(), vo.getMaterialConditionBrightCopper())); | 430 | data.setMaterialConditionBrightCopper(normalizeMaterialText(vo.getMaterialConditionEnabled(), vo.getMaterialConditionBrightCopper())); |
| @@ -160,6 +160,20 @@ public class CreateSalesmanQuotationVo implements BaseVo, Serializable { | @@ -160,6 +160,20 @@ public class CreateSalesmanQuotationVo implements BaseVo, Serializable { | ||
| 160 | private BigDecimal settlementRatio; | 160 | private BigDecimal settlementRatio; |
| 161 | 161 | ||
| 162 | /** | 162 | /** |
| 163 | + * 协调事由 | ||
| 164 | + */ | ||
| 165 | + @ApiModelProperty(value = "协调事由", required = true) | ||
| 166 | + @NotNull(message = "协调事由不能为空!") | ||
| 167 | + private String coordinationReason; | ||
| 168 | + | ||
| 169 | + /** | ||
| 170 | + * 票类状况 | ||
| 171 | + */ | ||
| 172 | + @ApiModelProperty(value = "票类状况", required = true) | ||
| 173 | + @NotNull(message = "票类状况不能为空!") | ||
| 174 | + private String invoiceTypeStatus; | ||
| 175 | + | ||
| 176 | + /** | ||
| 163 | * 是否启用料质状况 | 177 | * 是否启用料质状况 |
| 164 | */ | 178 | */ |
| 165 | @ApiModelProperty(value = "是否启用料质状况", required = true) | 179 | @ApiModelProperty(value = "是否启用料质状况", required = true) |
| @@ -159,6 +159,20 @@ public class UpdateSalesmanQuotationVo implements BaseVo, Serializable { | @@ -159,6 +159,20 @@ public class UpdateSalesmanQuotationVo implements BaseVo, Serializable { | ||
| 159 | private BigDecimal settlementRatio; | 159 | private BigDecimal settlementRatio; |
| 160 | 160 | ||
| 161 | /** | 161 | /** |
| 162 | + * 协调事由 | ||
| 163 | + */ | ||
| 164 | + @ApiModelProperty(value = "协调事由", required = true) | ||
| 165 | + @NotNull(message = "协调事由不能为空!") | ||
| 166 | + private String coordinationReason; | ||
| 167 | + | ||
| 168 | + /** | ||
| 169 | + * 票类状况 | ||
| 170 | + */ | ||
| 171 | + @ApiModelProperty(value = "票类状况", required = true) | ||
| 172 | + @NotNull(message = "票类状况不能为空!") | ||
| 173 | + private String invoiceTypeStatus; | ||
| 174 | + | ||
| 175 | + /** | ||
| 162 | * 是否启用料质状况 | 176 | * 是否启用料质状况 |
| 163 | */ | 177 | */ |
| 164 | @ApiModelProperty(value = "是否启用料质状况", required = true) | 178 | @ApiModelProperty(value = "是否启用料质状况", required = true) |
| @@ -181,4 +181,16 @@ public class QueryPurchaseOrderInfoVo extends PageVo implements BaseVo, Serializ | @@ -181,4 +181,16 @@ public class QueryPurchaseOrderInfoVo extends PageVo implements BaseVo, Serializ | ||
| 181 | */ | 181 | */ |
| 182 | @ApiModelProperty("合同类型") | 182 | @ApiModelProperty("合同类型") |
| 183 | private String contractType; | 183 | private String contractType; |
| 184 | + | ||
| 185 | + /** | ||
| 186 | + * 完成开始日期(审核通过时间) | ||
| 187 | + */ | ||
| 188 | + @ApiModelProperty("完成开始日期") | ||
| 189 | + private String finishDateStart; | ||
| 190 | + | ||
| 191 | + /** | ||
| 192 | + * 完成结束日期(审核通过时间) | ||
| 193 | + */ | ||
| 194 | + @ApiModelProperty("完成结束日期") | ||
| 195 | + private String finishDateEnd; | ||
| 184 | } | 196 | } |
| @@ -30,6 +30,7 @@ | @@ -30,6 +30,7 @@ | ||
| 30 | <result column="examine_status" property="examineStatus"/> | 30 | <result column="examine_status" property="examineStatus"/> |
| 31 | <result column="revoke_status" property="revokeStatus"/> | 31 | <result column="revoke_status" property="revokeStatus"/> |
| 32 | <result column="spec_change_status" property="specChangeStatus"/> | 32 | <result column="spec_change_status" property="specChangeStatus"/> |
| 33 | + <result column="finish_date" property="finishDate"/> | ||
| 33 | <result column="production_process" property="productionProcess"/> | 34 | <result column="production_process" property="productionProcess"/> |
| 34 | <result column="dept_id" property="deptId"/> | 35 | <result column="dept_id" property="deptId"/> |
| 35 | <result column="dept_name" property="deptName"/> | 36 | <result column="dept_name" property="deptName"/> |
| @@ -90,6 +91,7 @@ | @@ -90,6 +91,7 @@ | ||
| 90 | tb.examine_status, | 91 | tb.examine_status, |
| 91 | tb.revoke_status, | 92 | tb.revoke_status, |
| 92 | tb.spec_change_status, | 93 | tb.spec_change_status, |
| 94 | + tb.finish_date, | ||
| 93 | tb.production_process, | 95 | tb.production_process, |
| 94 | tb.dept_id, | 96 | tb.dept_id, |
| 95 | sd.name AS dept_name, | 97 | sd.name AS dept_name, |
| @@ -217,6 +219,14 @@ | @@ -217,6 +219,14 @@ | ||
| 217 | <if test="vo.contractType != null and vo.contractType != ''"> | 219 | <if test="vo.contractType != null and vo.contractType != ''"> |
| 218 | AND cds.type = #{vo.contractType} | 220 | AND cds.type = #{vo.contractType} |
| 219 | </if> | 221 | </if> |
| 222 | + <if test="vo.finishDateStart != null"> | ||
| 223 | + AND tb.finish_date >= #{vo.finishDateStart} | ||
| 224 | + </if> | ||
| 225 | + <if test="vo.finishDateEnd != null"> | ||
| 226 | + <![CDATA[ | ||
| 227 | + AND tb.finish_date < DATE_ADD(#{vo.finishDateEnd}, INTERVAL 1 DAY) | ||
| 228 | + ]]> | ||
| 229 | + </if> | ||
| 220 | </where> | 230 | </where> |
| 221 | ORDER BY tb.create_time DESC | 231 | ORDER BY tb.create_time DESC |
| 222 | </select> | 232 | </select> |
| @@ -284,6 +294,14 @@ | @@ -284,6 +294,14 @@ | ||
| 284 | AND 1 = 0 <!-- 确保查询不到任何数据 --> | 294 | AND 1 = 0 <!-- 确保查询不到任何数据 --> |
| 285 | </otherwise> | 295 | </otherwise> |
| 286 | </choose> | 296 | </choose> |
| 297 | + <if test="vo.finishDateStart != null"> | ||
| 298 | + AND tb.finish_date >= #{vo.finishDateStart} | ||
| 299 | + </if> | ||
| 300 | + <if test="vo.finishDateEnd != null"> | ||
| 301 | + <![CDATA[ | ||
| 302 | + AND tb.finish_date < DATE_ADD(#{vo.finishDateEnd}, INTERVAL 1 DAY) | ||
| 303 | + ]]> | ||
| 304 | + </if> | ||
| 287 | </where> | 305 | </where> |
| 288 | ORDER BY tb.update_time DESC | 306 | ORDER BY tb.update_time DESC |
| 289 | </select> | 307 | </select> |
| @@ -85,6 +85,7 @@ | @@ -85,6 +85,7 @@ | ||
| 85 | LEFT JOIN tbl_purchase_order_line ol ON tb.order_spec_id = ol.id | 85 | LEFT JOIN tbl_purchase_order_line ol ON tb.order_spec_id = ol.id |
| 86 | LEFT JOIN tbl_contract_distributor_standard s on s.id = o.contract_id | 86 | LEFT JOIN tbl_contract_distributor_standard s on s.id = o.contract_id |
| 87 | LEFT JOIN base_data_workshop ws on ws.id = o.workshop_id | 87 | LEFT JOIN base_data_workshop ws on ws.id = o.workshop_id |
| 88 | + LEFT JOIN sys_dept d on d.id = o.dept_id | ||
| 88 | </sql> | 89 | </sql> |
| 89 | 90 | ||
| 90 | <select id="query" resultMap="ShipmentsPlanDetail"> | 91 | <select id="query" resultMap="ShipmentsPlanDetail"> |
| @@ -126,7 +127,20 @@ | @@ -126,7 +127,20 @@ | ||
| 126 | </choose> | 127 | </choose> |
| 127 | </if> | 128 | </if> |
| 128 | </where> | 129 | </where> |
| 129 | - ORDER BY tb.create_time desc | 130 | + ORDER BY |
| 131 | + CASE | ||
| 132 | + WHEN d.code = 'NB' THEN 1 | ||
| 133 | + WHEN d.code = 'WZ' THEN 2 | ||
| 134 | + WHEN d.code = 'DG' THEN 3 | ||
| 135 | + WHEN d.code = 'FS' THEN 4 | ||
| 136 | + WHEN d.code = 'SZ' THEN 5 | ||
| 137 | + WHEN d.code = 'CZ' THEN 6 | ||
| 138 | + WHEN d.code = 'BF' THEN 7 | ||
| 139 | + WHEN d.code = 'ZT' THEN 8 | ||
| 140 | + WHEN d.code = 'WM' THEN 9 | ||
| 141 | + ELSE 10 | ||
| 142 | + END ASC, | ||
| 143 | + tb.create_time desc | ||
| 130 | </select> | 144 | </select> |
| 131 | 145 | ||
| 132 | <insert id="batchAdd"> | 146 | <insert id="batchAdd"> |