Commit 13d0ec0fffee386691e0c0c8519b991c0d400f8f

Authored by yeqianyong
1 parent d7622ce5

楚江erp: 发货单编号生成逻辑调整

@@ -824,15 +824,6 @@ public class ShipmentsOrderInfoServiceImpl extends BaseMpServiceImpl<ShipmentsOr @@ -824,15 +824,6 @@ public class ShipmentsOrderInfoServiceImpl extends BaseMpServiceImpl<ShipmentsOr
824 // 封装发货单数据 824 // 封装发货单数据
825 ShipmentsOrderInfo shipmentsOrderInfo = new ShipmentsOrderInfo(); 825 ShipmentsOrderInfo shipmentsOrderInfo = new ShipmentsOrderInfo();
826 shipmentsOrderInfo.setId(id); 826 shipmentsOrderInfo.setId(id);
827 - // 发货单编号处理  
828 - // 获取当月最后一天的23:59:59  
829 - LocalDateTime monthEnd = LocalDateTime.now()  
830 - .with(TemporalAdjusters.lastDayOfMonth())  
831 - .withHour(23)  
832 - .withMinute(59)  
833 - .withSecond(59);  
834 - String serialNumber = generateSerialNumber(null, "", "yyMM", LocalDateTime.now(), monthEnd);  
835 - shipmentsOrderInfo.setCode(serialNumber);  
836 shipmentsOrderInfo.setPlanId(planId); 827 shipmentsOrderInfo.setPlanId(planId);
837 shipmentsOrderInfo.setCustomerId(customerId); 828 shipmentsOrderInfo.setCustomerId(customerId);
838 shipmentsOrderInfo.setWorkshopId(plan.getWorkshopId()); 829 shipmentsOrderInfo.setWorkshopId(plan.getWorkshopId());
@@ -867,6 +858,19 @@ public class ShipmentsOrderInfoServiceImpl extends BaseMpServiceImpl<ShipmentsOr @@ -867,6 +858,19 @@ public class ShipmentsOrderInfoServiceImpl extends BaseMpServiceImpl<ShipmentsOr
867 // todo 后续如果数据量过大,则此处需要优化 858 // todo 后续如果数据量过大,则此处需要优化
868 // 生成要车相关数据 859 // 生成要车相关数据
869 generateRequestCarData(orderInfoList, orderIds, plan, quantityMap, shipmentsOrderIdMap); 860 generateRequestCarData(orderInfoList, orderIds, plan, quantityMap, shipmentsOrderIdMap);
  861 + // 生成发货单编号
  862 + // 获取当月最后一天的23:59:59
  863 + LocalDateTime monthEnd = LocalDateTime.now()
  864 + .with(TemporalAdjusters.lastDayOfMonth())
  865 + .withHour(23)
  866 + .withMinute(59)
  867 + .withSecond(59);
  868 + LocalDateTime now = LocalDateTime.now();
  869 + for (ShipmentsOrderInfo shipmentsOrderInfo : shipmentsOrderInfoList) {
  870 + String serialNumber = generateSerialNumber(null, "SHIPMENT_ORDER_SERIAL_NUMBER", "yyMM", now, monthEnd);
  871 + shipmentsOrderInfo.setCode(serialNumber);
  872 + }
  873 + getBaseMapper().setShipmentOrderCode(shipmentsOrderInfoList);
870 } 874 }
871 875
872 876
@@ -972,4 +976,15 @@ public class ShipmentsOrderInfoServiceImpl extends BaseMpServiceImpl<ShipmentsOr @@ -972,4 +976,15 @@ public class ShipmentsOrderInfoServiceImpl extends BaseMpServiceImpl<ShipmentsOr
972 } 976 }
973 } 977 }
974 } 978 }
  979 +
  980 +
  981 + /**
  982 + *
  983 + */
  984 + private void rollbackRedisIncrement(String key) {
  985 + Long current = (Long) redisTemplate.opsForValue().get(key);
  986 + if (current != null && current > 0) {
  987 + redisTemplate.opsForValue().decrement(key, 1);
  988 + }
  989 + }
975 } 990 }
@@ -55,4 +55,11 @@ public interface ShipmentsOrderInfoMapper extends BaseMapper<ShipmentsOrderInfo> @@ -55,4 +55,11 @@ public interface ShipmentsOrderInfoMapper extends BaseMapper<ShipmentsOrderInfo>
55 * @return Map<Integer, Integer> 55 * @return Map<Integer, Integer>
56 */ 56 */
57 List<Map<String, Object>> countWaitDeliveredOrder(@Param("customerNames") List<String> customerNames); 57 List<Map<String, Object>> countWaitDeliveredOrder(@Param("customerNames") List<String> customerNames);
  58 +
  59 + /**
  60 + * 设置发货单编号
  61 + *
  62 + * @param shipmentsOrderInfos 发货单数据
  63 + */
  64 + void setShipmentOrderCode(@Param("shipmentsOrderInfos") List<ShipmentsOrderInfo> shipmentsOrderInfos);
58 } 65 }
@@ -158,4 +158,18 @@ @@ -158,4 +158,18 @@
158 </if> 158 </if>
159 group by c.name 159 group by c.name
160 </select> 160 </select>
  161 +
  162 + <update id="setShipmentOrderCode">
  163 + UPDATE shipments_order_info
  164 + SET code = CASE id
  165 + <foreach collection="shipmentsOrderInfos" item="item">
  166 + WHEN #{item.id} THEN #{item.code}
  167 + </foreach>
  168 + ELSE code
  169 + END
  170 + WHERE id IN
  171 + <foreach collection="shipmentsOrderInfos" item="item" open="(" close=")" separator=",">
  172 + #{item.id}
  173 + </foreach>
  174 + </update>
161 </mapper> 175 </mapper>