luobang před 2 roky
rodič
revize
e37c585de8

+ 2 - 0
src/main/java/com/steerinfo/dil/mapper/OmstruckOrderMapper.java

@@ -77,4 +77,6 @@ public interface OmstruckOrderMapper extends IBaseMapper<OmstruckOrder, BigDecim
 
     int updateOrderStatus(BigDecimal previousOrderId);
 
+    int selectSaleMaterialNum(BigDecimal orderId);
+
 }

+ 6 - 2
src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderServiceImpl.java

@@ -2092,6 +2092,7 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
     @Override
     public Map<String, Object> updateCapacityNumberInFactory(Map<String, Object> mapValue) throws Exception {
         Object lineSequence = mapValue.get("lineSequence");
+        Object carStatus = mapValue.get("carStatus");
         int result = 0;
         if (mapValue.get("orderId") == null) {
             throw new Exception("还未派车,不允许修改车牌号");
@@ -2163,7 +2164,7 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         //    e.printStackTrace();
         //}
         saleLogUtil.logOrder(DataChange.dataToBigDecimal(mapValue.get("orderId")),"修改车牌号,当前车牌号为:" + capacityNo + "上一个车牌号为:" + oldCapacityNumber,mapValue,SaleLogUtil.UPDATE);
-        if (lineSequence == null || "0".equals(lineSequence.toString()) || "1".equals(lineSequence.toString()) || "2".equals(lineSequence.toString())) {
+        if ("4".equals(carStatus.toString()) || lineSequence == null || "0".equals(lineSequence.toString()) || "1".equals(lineSequence.toString()) || "2".equals(lineSequence.toString())) {
             String capacityids="";
             Integer capacityid1= (Integer) mapValue.get("capacityIds");
             Integer capacityid2= (Integer) mapValue.get("capacityId");
@@ -2840,6 +2841,7 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         amsSaleOrder.setUpdateTime(new Date());
         amsSaleOrder.setDeleted(new BigDecimal(0));
         amsSaleOrder.setSaleOrderStatus(new BigDecimal(0));
+        amsSaleOrder.setBusinessDate(new Date());
         // 税率默认13%
         amsSaleOrder.setSaleOrderTax("13%");
         // 含税单价某人4000
@@ -3030,10 +3032,12 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
     public int updateTransportOrderStatus(BigDecimal orderId) {
         //查询该运单下有没有净重,没有净重就变为7,有净重就变为2
         int netWeight = omstruckOrderMapper.selectNetWeightCount(orderId);
+        //查询该运单下计量实绩有没有物资分录id
+        int saleMaterialNum = omstruckOrderMapper.selectSaleMaterialNum(orderId);
         //查询该运单有没有出厂,没有出厂才变2
         int outFactory = omstruckOrderMapper.selectOutFactory(orderId);
         int orderStatus = 7;
-        if(netWeight > 0 && outFactory == 0) {
+        if((netWeight > 0 || saleMaterialNum > 0) && outFactory == 0) {
             orderStatus = 2;
         }
         if(netWeight > 0 && outFactory > 0) {

+ 8 - 0
src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderMapper.xml

@@ -973,4 +973,12 @@
         WHERE OO.ORDER_TYPE = 1
         AND OO.ORDER_ID = #{previousOrderId}
     </update>
+    <select id="selectSaleMaterialNum" resultType="java.lang.Integer" parameterType="decimal">
+        SELECT COUNT(TWR.WEIGHT_TASK_RESULT_ID) FROM TMSTRUCK_TOTAL_RESULT TTR
+        LEFT JOIN TMSTRUCK_WEIGHT_RESULT TWR
+        ON TWR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+        WHERE
+        TWR.SALE_MATERIAL_ID is not null
+        AND TTR.ORDER_ID = #{orderId}
+    </select>
 </mapper>