luobang 2 vuotta sitten
vanhempi
commit
25d85f10ca

+ 15 - 3
src/main/java/com/steerinfo/dil/feign/SSOFeign.java

@@ -3,9 +3,7 @@ package com.steerinfo.dil.feign;
 
 import feign.HeaderMap;
 import org.springframework.cloud.openfeign.FeignClient;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestHeader;
-import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.Map;
 
@@ -33,4 +31,18 @@ public interface SSOFeign {
                                     @RequestParam String userCode,
                                     @RequestParam String roleId);
 
+    @PostMapping("/icore.icp.web/pass/auth/login")
+    Map<String,Object> login(@RequestParam String loginName,
+                             @RequestParam String password);
+
+    @DeleteMapping("/icore.icp.web/pass/v1/sysuserroles/{userRoleId}")
+    Map<String,Object> sysuserrole(@RequestHeader("Authorization") String token,
+                                   @PathVariable(name = "userRoleId") String userRoleId);
+
+    @GetMapping("/icore.icp.web/pass/v1/sysuserroles/")
+    Map<String,Object> getSysuserrole(@RequestHeader("Authorization") String token,
+                                      @RequestParam("userId") String userId,
+                                      @RequestParam("pageNum") Integer pageNum,
+                                      @RequestParam("pageSize") Integer pageSize);
+
 }

+ 7 - 0
src/main/java/com/steerinfo/dil/mapper/RmsConsigneeMapper.java

@@ -3,6 +3,8 @@ package com.steerinfo.dil.mapper;
 import com.steerinfo.dil.model.RmsConsignee;
 import com.steerinfo.framework.mapper.IBaseMapper;
 import java.math.*;
+import java.util.Map;
+
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Select;
 
@@ -13,4 +15,9 @@ public interface RmsConsigneeMapper extends IBaseMapper<RmsConsignee, Long> {
     BigDecimal getConsigneeId();
 
     BigDecimal findReceiveId(String consigneeName);
+
+    int updateConsigneeSettled(BigDecimal receiveId,String settleMothod);
+
+    Map<String,Object> selectSettleMethod(BigDecimal receiveId);
+
 }

+ 1 - 1
src/main/java/com/steerinfo/dil/mapper/TmstruckWeightResultMapper.java

@@ -147,6 +147,6 @@ public interface TmstruckWeightResultMapper extends IBaseMapper<TmstruckWeightRe
 
     Map<String,Object> getWeightAndSaleMaterialId(Map<String, Object> map);
 
-    BigDecimal getWeightTaskIdCopy(BigDecimal resultTotalId);
+    List<BigDecimal> getWeightTaskIdCopy(BigDecimal resultTotalId);
 
 }

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

@@ -3,6 +3,7 @@ package com.steerinfo.dil.service.impl;
 import com.alibaba.druid.support.json.JSONUtils;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import com.steerinfo.dil.feign.SSOFeign;
 import com.steerinfo.dil.util.newFileTool;
 import com.google.gson.JsonObject;
 import com.steerinfo.dil.feign.AmsFeign;
@@ -72,6 +73,8 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
     OmstrainOrderMapper omstrainOrderMapper;
     @Autowired
     AmsFeign amsFeign;
+    @Autowired
+    SSOFeign ssoFeign;
 
     Logger logger = LoggerFactory.getLogger(getClass());
 
@@ -406,6 +409,56 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
                 rmsConsignee.setInsertUpdateRemark("通过销售订单自增");
                 rmsConsigneeMapper.insertSelective(rmsConsignee);
             }
+            try {
+                //根据摘要和收货客户ID查询
+                if(isSelfMention != null && isSelfMention.equals("CARRY")) {
+                    //如果是自提,那么将该客户的结算方式改为自提
+                    rmsConsigneeMapper.updateConsigneeSettled(receiveId,"自提");
+                }else if(isSelfMention != null && !isSelfMention.equals("CARRY")){
+                    //查询该客户对应的结算方式是什么
+                    Map<String,Object> settleMethodWlMap = rmsConsigneeMapper.selectSettleMethod(receiveId);
+                    String settleMethodWl = null;
+                    if(settleMethodWlMap.get("settleMethodWl") != null) {
+                        settleMethodWl = settleMethodWlMap.get("settleMethodWl").toString();
+                    }
+                    String settleMethodEas = " ";
+                    if(saleRemark != null && saleRemark.contains("钢材工程组")){
+                        settleMethodEas = "一票制";
+                        if(!settleMethodEas.equals(settleMethodWl)) {
+                            rmsConsigneeMapper.updateConsigneeSettled(receiveId,"一票制");
+                            if(settleMethodWlMap.get("userId") != null) {
+                                String userId = settleMethodWlMap.get("userId").toString();
+                                Map<String, Object> tokenMap = ssoFeign.login("adminMannage", "7c4a8d09ca3762af61e59520943dc26494f8941b");
+                                Map<String,Object> data = (Map<String, Object>) tokenMap.get("data");
+                                String token = (String) data.get("accessToken");
+                                Map<String,Object> userRoleResponseMap = ssoFeign.getSysuserrole("Bearer " + token,userId,1,100);
+                                Map<String,Object> userRoleMap = ((List<Map<String, Object>>)((Map<String, Object>)userRoleResponseMap.get("data")).get("list")).get(0);
+                                String userRoleId = userRoleMap.get("userRoleId").toString();
+                                ssoFeign.sysuserrole("Bearer " + token, userId);
+                                ssoFeign.addUserroles("Bearer " + token,userId, receiveUnitName, "1054405653877100544");
+                            }
+                        }
+                    }else{
+                        if(!settleMethodEas.equals(settleMethodWl)) {
+                            rmsConsigneeMapper.updateConsigneeSettled(receiveId,"两票制");
+                            if(settleMethodWlMap.get("userId") != null) {
+                                String userId = settleMethodWlMap.get("userId").toString();
+                                Map<String, Object> tokenMap = ssoFeign.login("adminMannage", "7c4a8d09ca3762af61e59520943dc26494f8941b");
+                                Map<String,Object> data = (Map<String, Object>) tokenMap.get("data");
+                                String token = (String) data.get("accessToken");
+                                Map<String,Object> userRoleResponseMap = ssoFeign.getSysuserrole("Bearer " + token,userId,1,100);
+                                Map<String,Object> userRoleMap = ((List<Map<String, Object>>)((Map<String, Object>)userRoleResponseMap.get("data")).get("list")).get(0);
+                                String userRoleId = userRoleMap.get("userRoleId").toString();
+                                ssoFeign.sysuserrole("Bearer " + token, userRoleId);
+                                ssoFeign.addUserroles("Bearer " + token,userId, receiveUnitName, "1042116550569627648");
+                            }
+                        }
+                    }
+
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
             // 得到发货单位
             String shipperUnit = (String) mapVal.get("shipperUnit");
             BigDecimal shipperId = amsSaleOrderMapper.getShipperId(shipperUnit);

+ 1 - 0
src/main/java/com/steerinfo/dil/service/impl/RmsConsigneeServiceImpl.java

@@ -51,6 +51,7 @@ public class RmsConsigneeServiceImpl implements IRmsConsigneeService {
      */
     @Override
     public int operationConsignee(Map<String, Object> mapVal) {
+        System.out.println(mapVal);
         // 得到金蝶收货客户主键id
         String EASConsigneeId = (String) mapVal.get("EASConsigneeId");
         // 得到收货人名称

+ 5 - 6
src/main/java/com/steerinfo/dil/service/impl/TmstruckWeightResultServiceImpl.java

@@ -285,16 +285,15 @@ public class TmstruckWeightResultServiceImpl implements ITmstruckWeightResultSer
         }else{
             //根据运单id查询其中一个物资id,确保报表能有数据
             //查询没有净重的,不影响之前代码
-            BigDecimal weightTaskIdCopy = tmstruckWeightResultMapper.getWeightTaskIdCopy(DataChange.dataToBigDecimal(map.get("resultTotalId")));
-            if(weightTaskIdCopy == null) {
+            //首先看没有净重的实绩里面有没有有分录id的
+            List<BigDecimal> weightSaleMaterialIds = tmstruckWeightResultMapper.getWeightTaskIdCopy(DataChange.dataToBigDecimal(map.get("resultTotalId")));
+            if(weightSaleMaterialIds.size() == 0) {
+                //如果没有,那么就找一个saleMaterialId放进去
                 BigDecimal saleMaterialIds = tmstruckWeightResultMapper.getMaterialIdByOrderId(DataChange.dataToBigDecimal(map.get("orderId")));
-                if (saleMaterialIds != null) {
+                if(saleMaterialIds != null) {
                     tmstruckWeightResult.setSaleMaterialId(saleMaterialIds);
                 }
-            }else{
-                tmstruckWeightResult.setWeightTaskResultId(weightTaskIdCopy);
             }
-
         }
         addWeightResult(tmstruckWeightResult, map); //添加计量实绩数据
         // 更新订单中路段顺序号,如果毛重时间为空则为计皮:也就是销售第一次计皮,反之有毛重时间则为计毛

+ 11 - 1
src/main/resources/com/steerinfo/dil/mapper/RmsConsigneeMapper.xml

@@ -674,7 +674,8 @@
       #{item.consigneeId,jdbcType=DECIMAL}
     </foreach>
   </update>
-  <delete id="batchDelete" parameterType="java.util.List">
+
+    <delete id="batchDelete" parameterType="java.util.List">
     delete from RMS_CONSIGNEE
     where CONSIGNEE_ID in
     <foreach close=")" collection="list" item="id" open="(" separator=",">
@@ -689,4 +690,13 @@
     WHERE RC.CONSIGNEE_COMPANY_NAME = #{consigneeName}
     FETCH NEXT 1 ROWS ONLY
   </select>
+  <update id="updateConsigneeSettled">
+    UPDATE RMS_CONSIGNEE RC
+    SET RC.CONSIGNEE_SETTLEMENT_METHOD = #{settleMothod}
+    WHERE RC.CONSIGNEE_ID = #{receiveId}
+  </update>
+  <select id="selectSettleMethod" resultType="java.lang.String" parameterType="java.math.BigDecimal">
+    SELECT RC.CONSIGNEE_SETTLEMENT_METHOD "settleMethod", RC.CONSIGNEE_SSO_ID "userId" FROM RMS_CONSIGNEE RC
+    WHERE RC.CONSIGNEE_ID = #{receiveId}
+  </select>
 </mapper>

+ 1 - 2
src/main/resources/com/steerinfo/dil/mapper/TmstruckWeightResultMapper.xml

@@ -1202,7 +1202,7 @@
             LEFT JOIN TMSTRUCK_WEIGHT_RESULT TWR
             ON TWR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
             WHERE TTR.ORDER_ID = #{orderId}
-            AND TWR.RESULT_NET_WEIGHT IS NULL)
+            AND TWR.RESULT_NET_WEIGHT IS NOT NULL)
         FETCH FIRST 1 row only
     </select>
     <select id="getIsSelfMention" resultType="java.lang.String" parameterType="map">
@@ -1307,6 +1307,5 @@
         AND TWR.RESULT_NET_WEIGHT IS NULL
         AND TWR.SALE_MATERIAL_ID IS NOT NULL
         ORDER BY TWR.WEIGHT_TASK_RESULT_ID
-        FETCH FIRST 1 ROW ONLY
     </select>
 </mapper>