瀏覽代碼

提交审核

zengyf 2 年之前
父節點
當前提交
06e5065506

+ 10 - 0
src/main/java/com/steerinfo/dil/mapper/AmsSaleOrderMapper.java

@@ -58,4 +58,14 @@ public interface AmsSaleOrderMapper extends IBaseMapper<AmsSaleOrder, BigDecimal
 
     List<Map<String, Object>> selectOrderList(BigDecimal saleOrderId);
 
+    Map<String,Object> getSaleOrderData(BigDecimal saleOrderId);
+
+    //id自增
+    @Select("select seq_DIL_NOTICE.nextval from dual")
+    BigDecimal selectNoticeId();
+
+    //通知信息
+    void insertDilNotice(Map<String,Object> map);
+
+    void insertIntoNoticeUser(BigDecimal noticeId,String capacityNo);
 }

+ 26 - 0
src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderServiceImpl.java

@@ -267,6 +267,32 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
             amsSaleOrder.setDeleted(new BigDecimal(0));
             result += amsSaleOrderMapper.updateByPrimaryKeySelective(amsSaleOrder);
             BigDecimal saleOrderId = amsSaleOrder.getSaleOrderId();
+            try {
+                Map<String, Object> saleOrderData = amsSaleOrderMapper.getSaleOrderData(saleOrderId);
+                String carrierName = (String) saleOrderData.get("carrierName");
+                String saleOrderNo = (String) saleOrderData.get("saleOrderNo");
+                if (carrierName.equals("自提")||carrierName.isEmpty()){
+                }else {
+                    //收集发布信息内容
+                    Map<String,Object> dilNotice=new HashMap<>();
+                    //主键ID
+                    BigDecimal noticeId=amsSaleOrderMapper.selectNoticeId();
+                    dilNotice.put("noticeId",noticeId);
+                    //发布人
+                    dilNotice.put("insertUsername","销售审核");
+                    //发布内容
+                    dilNotice.put("noticeContent",saleOrderNo+"已审核");
+                    //发布时间
+                    dilNotice.put("insertTime",new Date());
+                    //新增发布
+                    amsSaleOrderMapper.insertDilNotice(dilNotice);
+                    //根据承运商的名字
+                    carrierName="%"+carrierName+"%";
+                    amsSaleOrderMapper.insertIntoNoticeUser(noticeId,carrierName);
+                }
+            }catch (Exception e){
+                e.printStackTrace();
+            }
             // 如果是财务审批后,将不可作业的运输订单改为已接收状态
             //反关闭这个销售订单下面被关闭的运单
             try {

+ 64 - 0
src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMapper.xml

@@ -1099,5 +1099,69 @@
     and ASOM.SALE_ORDER_ID = #{saleOrderId}
   </select>
 
+  <select id="getSaleOrderData" resultType="java.util.Map">
+    SELECT * FROM (
+                    SELECT distinct OO.ORDER_ID "orderId",
+                                    ASO.SALE_ORDER_ID "saleOrderId",
+                                    ASO.SALE_NUMBER "saleOrderNo",
+                                    RCA.CAPACITY_NUMBER "capacityNo",
+                                    RCA.CAPACITY_NUMBER "newCapacityNo",
+                                    NVL(OO.CAPACITY_ID,0)  "capacityIds",
+                                    OO.CAPACITY_ID "capacityId",
+                                    (CASE WHEN ASO.SALE_ORDER_ISSELF_MENTION = '是'
+                                            THEN '自提'
+                                          ELSE R_CARRIER.CARRIER_ABBREVIATION
+                                      END)
+                                      "carrierName"
+                    FROM AMS_SALE_ORDER ASO
+                           LEFT JOIN RMS_CONSIGNEE RC
+                                     ON RC.CONSIGNEE_ID = ASO.RECEIVE_ID
+                           LEFT JOIN RMS_SHIPPER RS
+                                     ON RS.SHIPPER_ID = ASO.SHIPPER_ID
+                           LEFT JOIN RMS_SALE_AREA RSA
+                                     ON RSA.AREA_ID=RC.AREA_ID
+                           LEFT JOIN RMS_SALER RSR
+                                     ON RSR.SALER_ID = ASO.SALER_ID
+                           LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
+                                     ON ASOM.SALE_ORDER_ID = ASO.SALE_ORDER_ID
+                           LEFT JOIN AMS_DISPATCH_SALE_ORDER ADSO
+                                     ON ADSO.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
+                           LEFT JOIN RMS_CARRIER R_CARRIER
+                                     ON R_CARRIER.CARRIER_ID = ADSO.CARRIER_ID
+                           LEFT JOIN AMS_SALE_TRUCKNO_MATERIAL ASTM
+                                     ON ASTM.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
+                           LEFT JOIN AMS_SALE_MATERIAL ASM
+                                     ON ASM.SALE_MATERIAL_ID = ASTM.MATERIAL_ID
+                           LEFT JOIN RMS_MATERIAL RM
+                                     ON RM.MATERIAL_ID = ASM.MATERIAL_ID
+                           LEFT JOIN OMSTRUCK_ORDER OO
+                                     ON OO.ORDER_PLAN_ID = ASOM.SALE_ORDER_MATERIAL_ID
+                                       AND NVL(OO.ORDER_TYPE,0) in (0,1)
+                           LEFT JOIN RMS_CAPACITY RCA
+                                     ON RCA.CAPACITY_ID = OO.CAPACITY_ID
+                    WHERE ASO.SALE_TYPE = 1
+                      AND ASO.DELETED = 0
+                      and ASM.SALE_MATERIAL_ID IS NOT NULL
+                      and ASO.SALE_ORDER_ID=#{saleOrderId}
+                      and rownum =1)
+  </select>
+
+  <insert id="insertDilNotice">
+    insert into DIL_NOTICE(NOTICE_ID,NOTICE_TITLE,NOTICE_CONTENT,INSERT_USERNAME,INSERT_TIME,DELETED,PERMISSION)
+    VALUES(#{noticeId},'销售公司审核',#{noticeContent},#{insertUsername},#{insertTime},0,'chengyunshang')
+  </insert>
+
+  <insert id="insertIntoNoticeUser">
+    INSERT INTO DIL_NOTICE_USERS
+      (select DN.NOTICE_ID,
+              SU.USER_ID,
+              SU.USER_NAME,
+              SU.ORG_CODE,
+              0 "STATUS"
+       from DIL_NOTICE DN ,"SSO".SYS_USER SU
+       WHERE DN.NOTICE_ID=#{noticeId}
+         and SU.ORG_CODE = 'chengyunshang'
+         AND SU.USER_CODE like #{capacityNo})
+  </insert>
 
 </mapper>