Prechádzať zdrojové kódy

销售订单 删除 同步

liuchaohui 2 rokov pred
rodič
commit
7a16be2a2a

+ 11 - 8
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/orderData/controller/SyOrderDataController.java

@@ -104,14 +104,17 @@ public class SyOrderDataController extends JeecgController<SyOrderData, ISyOrder
 	 @PostMapping(value = "/tongBu")
 	 public Result<T> tongBu(@RequestBody String parameter) {
 	 	Result<T> result =new Result<>();
-		 JSONObject object = JSONObject.parseObject(parameter);
-		 String plancode = object.get("parameter").toString();
-		 if(plancode==null || plancode.equals("") || plancode.equals(" ")) {
-			 result.setMessage("单条同步不允许单据号为空!!!");
-			 return result;
-		 }
-		 //java.net.URLDecoder.decode(parameter,"UTF-8")
-		 result=syOrderDataService.doQuerySyOrder(plancode);
+	 	JSONObject JS = JSON.parseObject(parameter);
+	 	String plancode = JS.get("parameter").toString();
+	 	String account = JS.get("account").toString();
+//	 	JSONObject object = JSONObject.parseObject(parameter);
+//	 	String plancode = object.get("parameter").toString();
+	 	if(plancode==null || plancode.equals("") || plancode.equals(" ")) {
+	 		result.setMessage("单条同步不允许单据号为空!!!");
+	 		return result;
+	 	}
+	 	//java.net.URLDecoder.decode(parameter,"UTF-8")
+		 result=syOrderDataService.doQuerySyOrder(plancode,account);
 		 return result;
 	 }
 

+ 11 - 4
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/orderData/controller/SySOAndOMController.java

@@ -61,17 +61,23 @@ public class SySOAndOMController extends JeecgController<SySOAndOM, ISySOAndOMSe
     @AutoLog(value = "删除销售订单")
     @ApiOperation(value="删除销售订单", notes="删除销售订单")
     @RequestMapping(value = "/delOrder")
-    public Result<?> delOrder(String orderNumber) {
+    public Result<?> delOrder(String orderNumber,String account) {
         if(orderNumber.equals("")||orderNumber==null){
             return Result.error("请选择订单!!!");
         }
-        String mess = syOrderDataService.queryIDBYOrderNumber(orderNumber);
+        String mess = syOrderDataService.queryIDBYOrderNumber(orderNumber,account);
         if(mess.equals("已被参照")){
             return Result.error("数据已被下游参照!!!");
         }
-        sySOAndOMService.delOrder(orderNumber);
         sySOAndOMService.delOrderItem(orderNumber);
-        return Result.error("删除成功!!!");
+        sySOAndOMService.delOrder(orderNumber);
+
+        SySOAndOM soAndOM = new SySOAndOM();
+        soAndOM.setAccount(account);
+        soAndOM.setOrderNumber(orderNumber);
+        soAndOM.setFlag("0");
+        sySOAndOMService.updateSO(soAndOM);
+        return Result.ok("删除成功!!!");
     }
 
     @AutoLog(value = "订单数据同步接口-分页列表查询销售订单")
@@ -171,6 +177,7 @@ public class SySOAndOMController extends JeecgController<SySOAndOM, ISySOAndOMSe
         syOrderData.setId(syOrderData.getAccount()+syOrderData.getId());
         syOrderDataService.save(syOrderData);
         //回写U8 手动拉取为 同步字段状态值为 2
+        sySOAndOM.get(0).setFlag("2");
         sySOAndOMService.updateSO(sySOAndOM.get(0));
         return Result.OK("同步成功!!!");
     }

+ 5 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/orderData/entity/SySOAndOM.java

@@ -41,6 +41,11 @@ public class SySOAndOM {
     @ApiModelProperty(value = "颜色")
     private java.lang.String colour;
 
+    /**同步状态*/
+    @Excel(name = "同步状态", width = 15)
+    @ApiModelProperty(value = "同步状态")
+    private java.lang.String flag;
+
     /*以下 委外*/
     /**委外订单号*/
     @Excel(name = "委外订单号", width = 15)

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/orderData/mapper/SyOrderDataMapper.java

@@ -19,5 +19,5 @@ public interface SyOrderDataMapper extends BaseMapper<SyOrderData> {
 
     void deleteByID(@Param("id") String id);
 
-    String queryIDBYOrderNumber(@Param("orderNumber") String orderNumber);
+    String queryIDBYOrderNumber(@Param("orderNumber") String orderNumber,@Param("account") String account);
 }

+ 12 - 4
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/orderData/mapper/xml/SyOrderDataMapper.xml

@@ -93,13 +93,21 @@
     </delete>
     
     <select id="queryIDBYOrderNumber" resultType="String">
-        select  case sum(quantity)-sum(surplus_num)
+       select  case
+				when (sum(sp.shipment_quantity)=0 or sum(sp.shipment_quantity) is null)
+				then sm.id else '已被参照'
+				end as id
+        from sy_order_data sm
+        join sy_order_data_item sd on sm.id=sd.sy_order_data_id
+        left join sy_shipping_details_item sp on sd.id=sp.sy_order_data_item_id
+        where sm.order_number=#{orderNumber} and sm.account=#{account}
+        GROUP BY sm.order_number,sm.account
+    </select>
+<!-- select  case sum(quantity)-sum(surplus_num)
 				when 0 then sm.id else '已被参照' end as id
         from sy_order_data sm
         join sy_order_data_item sd
         on sm.id=sd.sy_order_data_id
         where sm.order_number=#{orderNumber}
-        GROUP BY order_number
-    </select>
-
+        GROUP BY order_number-->
 </mapper>

+ 3 - 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/orderData/mapper/xml/SySOAndOMMapper.xml

@@ -193,13 +193,13 @@
 
     <update id="updateSO" >
         <if test="sy.account =='901'">
-            UPDATE UFDATA_901_2021.dbo.SO_SOMain SET cdefine15 = '2' WHERE cSOCode = #{sy.orderNumber}
+            UPDATE UFDATA_901_2021.dbo.SO_SOMain SET cdefine15 = #{sy.flag} WHERE cSOCode = #{sy.orderNumber}
         </if>
         <if test="sy.account =='902'">
-            UPDATE UFDATA_902_2021.dbo.SO_SOMain SET cdefine15 = '2' WHERE cSOCode = #{sy.orderNumber}
+            UPDATE UFDATA_902_2021.dbo.SO_SOMain SET cdefine15 = #{sy.flag} WHERE cSOCode = #{sy.orderNumber}
         </if>
         <if test="sy.account =='903'">
-            UPDATE UFDATA_903_2021.dbo.SO_SOMain SET cdefine15 = '2' WHERE cSOCode = #{sy.orderNumber}
+            UPDATE UFDATA_903_2021.dbo.SO_SOMain SET cdefine15 = #{sy.flag} WHERE cSOCode = #{sy.orderNumber}
         </if>
     </update>
 

+ 2 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/orderData/service/ISyOrderDataService.java

@@ -14,11 +14,11 @@ import com.baomidou.mybatisplus.extension.service.IService;
  * @Version: V1.0
  */
 public interface ISyOrderDataService extends IService<SyOrderData> {
-     Result<T> doQuerySyOrder(String parameter);
+     Result<T> doQuerySyOrder(String parameter,String account);
 
      IPage<SyOrderData> queryList(SyOrderData sy, Page<SyOrderData> page);
 
      void deleteByID(String id);
 
-     String queryIDBYOrderNumber(String orderNumber);
+     String queryIDBYOrderNumber(String orderNumber,String account);
 }

+ 5 - 5
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/orderData/service/impl/SyOrderDataServiceImpl.java

@@ -55,7 +55,7 @@ public class SyOrderDataServiceImpl extends ServiceImpl<SyOrderDataMapper, SyOrd
     private static ISenYuDataSourceThree senYuDataSourceThree;
 
     @Override
-    public Result<T> doQuerySyOrder(String parameter) {
+    public Result<T> doQuerySyOrder(String parameter,String account) {
         Result<T> result =new Result<>();
         //得到系统时间
         Date day=new Date();
@@ -65,7 +65,7 @@ public class SyOrderDataServiceImpl extends ServiceImpl<SyOrderDataMapper, SyOrd
         try {
             //查找单证是否有当前销售订单 如果有 默认客户进行当前订单的更新操作
             //更新数据,如为更新数据 删除老数据重新添加新数据
-            String id = syOrderDataMapper.queryIDBYOrderNumber(parameter);
+            String id = syOrderDataMapper.queryIDBYOrderNumber(parameter,account);
             String updateSql = "update so_somain set cdefine15='2'  where cSOCode = '"+parameter+"'";
             if(id!=null){
                 if(id.equals("已被参照")){
@@ -90,7 +90,7 @@ public class SyOrderDataServiceImpl extends ServiceImpl<SyOrderDataMapper, SyOrd
                 String pkorgStr = str;
                 String pkorgValue[] = pkorgStr.split(":");
                 //得到对应的账套
-                String account = pkorgValue[1];
+                //String account = pkorgValue[1];
 
                 String sql = "SELECT " +
                         "s.ID AS id," +
@@ -312,8 +312,8 @@ public class SyOrderDataServiceImpl extends ServiceImpl<SyOrderDataMapper, SyOrd
     }
 
     @Override
-    public String queryIDBYOrderNumber(String orderNumber) {
-        return syOrderDataMapper.queryIDBYOrderNumber(orderNumber);
+    public String queryIDBYOrderNumber(String orderNumber,String account) {
+        return syOrderDataMapper.queryIDBYOrderNumber(orderNumber,account);
     }
 
     /*

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/quartz/job/AddOrderJob.java

@@ -135,7 +135,7 @@ public class AddOrderJob implements Job,ApplicationContextAware {
                 }else {
                     sql=sql+" and s.cSOCode = "+this.parameter+" order by s.dDate desc ";
                     //查找是否是更新数据,如为更新数据 删除老数据重新添加新数据
-                    String id = syOrderDataService.queryIDBYOrderNumber(this.parameter);
+                    String id = syOrderDataService.queryIDBYOrderNumber(this.parameter,null);
                     if(id!=null){
                         syOrderDataService.deleteByID(id);
                         syOrderDataItemService.deleteByID(id);