浏览代码

单证Bug调整

zengtx 2 年之前
父节点
当前提交
3813382c83

+ 5 - 5
jeecg-boot-module-system/src/main/java/org/jeecg/modules/cost/mapper/xml/SyCostAllocationIngredientMapper.xml

@@ -31,7 +31,7 @@
 		from
 		(
 			select t4.goodsName,sum(t4.dosage) as dosage,sum(t4.usageQuantity) as usageQuantity,max(t4.supper) as supper,sum(t4.rmbAmount) as rmbAmount,sum(t4.usdAmount) as usdAmount,sum(t4.priceExcludingtax) as priceExcludingtax,sum(t4.cost) as cost from(
-		SELECT t3.goodsName,t3.cVenAbbName AS supper,SUM ( t3.dosage ) AS dosage,SUM ( t3.usageQuantity ) AS usageQuantity,
+		SELECT t3.goodsName,t3.cVenAbbName AS supper,max( t3.dosage ) AS dosage,SUM ( t3.usageQuantity ) AS usageQuantity,
 	
 	SUM ( t3.rmbAmount ) AS rmbAmount,SUM ( t3.usdAmount ) AS usdAmount,SUM ( t3.priceExcludingtax ) AS priceExcludingtax,
 	SUM ( t3.totalCost )/sum(totalSum) AS cost 
@@ -76,7 +76,7 @@ GROUP BY
 	union all
 		
 		
-SELECT t3.goodsName,t3.cVenAbbName AS supper,SUM ( t3.dosage ) AS dosage,SUM ( t3.usageQuantity ) AS usageQuantity,
+SELECT t3.goodsName,t3.cVenAbbName AS supper,max( t3.dosage ) AS dosage,SUM ( t3.usageQuantity ) AS usageQuantity,
 	
 	SUM ( t3.rmbAmount ) AS rmbAmount,SUM ( t3.usdAmount ) AS usdAmount,SUM ( t3.priceExcludingtax ) AS priceExcludingtax,
 	SUM ( t3.totalCost )/sum(totalSum) AS cost 
@@ -166,7 +166,7 @@ GROUP BY
 		from
 		(
 		select t4.goodsName,sum(t4.dosage) as dosage,sum(t4.usageQuantity) as usageQuantity,max(t4.supper) as supper,sum(t4.rmbAmount) as rmbAmount,sum(t4.usdAmount) as usdAmount,sum(t4.priceExcludingtax) as priceExcludingtax,sum(t4.cost) as cost from (
-		select t3.goodsName,sum(t3.dosage) as dosage,sum(t3.usageQuantity) as usageQuantity,max(t3.cVenAbbName) as supper,sum(t3.rmbAmount) as rmbAmount,sum(t3.usdAmount) as usdAmount,sum(t3.priceExcludingtax) as priceExcludingtax,sum(t3.iCost) as cost from (
+		select t3.goodsName,max(t3.dosage) as dosage,sum(t3.usageQuantity) as usageQuantity,max(t3.cVenAbbName) as supper,sum(t3.rmbAmount) as rmbAmount,sum(t3.usdAmount) as usdAmount,sum(t3.priceExcludingtax) as priceExcludingtax,sum(t3.iCost) as cost from (
 
 		select t1.goodsName,t1.dosage,t1.usageQuantity,t2.cVenAbbName,t2.rmbAmount,t2.usdAmount,t2.priceExcludingtax,t2.iCost from (select  ot.cInvCode,od.isosid,om.ccode,oti.cInvName as goodsName,sum(ot.iUnitQuantity) as dosage,sum(ot.iSendQTY) as usageQuantity
 
@@ -198,7 +198,7 @@ GROUP BY
 
 		union all
 
-		select t3.goodsName,sum(t3.dosage) as dosage,sum(t3.usageQuantity) as usageQuantity,max(t3.cVenAbbName) as supper,sum(t3.rmbAmount) as rmbAmount,sum(t3.usdAmount) as usdAmount,sum(t3.priceExcludingtax) as priceExcludingtax,sum(t3.iCost) as cost from (
+		select t3.goodsName,max(t3.dosage) as dosage,sum(t3.usageQuantity) as usageQuantity,max(t3.cVenAbbName) as supper,sum(t3.rmbAmount) as rmbAmount,sum(t3.usdAmount) as usdAmount,sum(t3.priceExcludingtax) as priceExcludingtax,sum(t3.iCost) as cost from (
 
 		select t1.goodsName,t1.dosage,t1.usageQuantity,t2.cVenAbbName,t2.rmbAmount,t2.usdAmount,t2.priceExcludingtax,t2.iCost from (select  ot.cInvCode,od.isosid,om.ccode,oti.cInvName as goodsName,sum(ot.iUnitQuantity) as dosage,sum(ot.iSendQTY) as usageQuantity
 
@@ -233,7 +233,7 @@ GROUP BY
 		) t3  GROUP BY t3.goodsName
 
 		union all
-		select t3.goodsName,sum(t3.dosage) as dosage,sum(t3.usageQuantity) as usageQuantity,max(t3.cVenAbbName) as supper,sum(t3.rmbAmount) as rmbAmount,sum(t3.usdAmount) as usdAmount,sum(t3.priceExcludingtax) as priceExcludingtax,sum(t3.iCost) as cost from (
+		select t3.goodsName,max(t3.dosage) as dosage,sum(t3.usageQuantity) as usageQuantity,max(t3.cVenAbbName) as supper,sum(t3.rmbAmount) as rmbAmount,sum(t3.usdAmount) as usdAmount,sum(t3.priceExcludingtax) as priceExcludingtax,sum(t3.iCost) as cost from (
 
 		select t1.goodsName,t1.dosage,t1.usageQuantity,t2.cVenAbbName,t2.rmbAmount,t2.usdAmount,t2.priceExcludingtax,t2.iCost from (select  ot.cInvCode,od.isosid,om.ccode,oti.cInvName as goodsName,sum(ot.iUnitQuantity) as dosage,sum(ot.iSendQTY) as usageQuantity
 

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

@@ -76,6 +76,9 @@ public class SyOrderDataController extends JeecgController<SyOrderData, ISyOrder
 //			syOrderData.setDate(sdf.format(syOrderData.getOrderDate()));
 //		}
 		Page<SyOrderData> page = new Page<SyOrderData>(pageNo, pageSize);
+		if(oConvertUtils.isNotEmpty(syOrderData.getOrderNumber())){
+			syOrderData.setOrderNumber(syOrderData.getOrderNumber().trim());
+		}
 		IPage<SyOrderData> pageList = syOrderDataService.queryList(syOrderData,page);
 		return Result.OK(pageList);
 	}

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

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.commons.collections.CollectionUtils;
 import org.apache.poi.ss.formula.functions.T;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.modules.documents.orderData.entity.SyOrderData;
@@ -30,10 +31,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * @Description: 订单主表
@@ -219,16 +217,24 @@ public class SyOrderDataServiceImpl extends ServiceImpl<SyOrderDataMapper, SyOrd
                 }
                 List<JSONObject> jianSon = JsonChangeUtils.toJSONObject(listSon);
                 List<SyOrderDataItem> syItemList = new ArrayList<>();
+                //已被参照行ID
+                List<String> idsID = new ArrayList<>();
+
+                //记录主表ID
+                String orderID = jianSon.get(0).get("syOrderDataId").toString();
                 for (JSONObject Object:jianSon) {
                     SyOrderDataItem sy2 = JSONObject.toJavaObject(Object, SyOrderDataItem.class);
                     sy2.setId(sy.getAccount()+sy2.getId());
                     if(isNewOrder){
                         String item = syOrderDataItemService.queryItemMub(sy2.getId());
                         if(item!=null && item.equals("已被参照")){
+                            idsID.add(sy2.getId());
                             continue;
                         }else {
+                            idsID.add(sy2.getId());
                             //更新数据前 删除旧数据防止id冲突
                             syOrderDataItemService.deleteByID(sy2.getId());
+
                         }
                     }
                     sy2.setSyOrderDataId(sy.getAccount()+sy2.getSyOrderDataId());
@@ -271,6 +277,23 @@ public class SyOrderDataServiceImpl extends ServiceImpl<SyOrderDataMapper, SyOrd
                     }
                     syItemList.add(sy2);
                 }
+                //处理U8已经删除的数据,单证系统也需要删除
+                //第一查询改订单下所有行数据
+                List<String> deleteId = new ArrayList<>();
+                QueryWrapper<SyOrderDataItem> queryWrapper1 = new QueryWrapper<>();
+                queryWrapper1.eq("sy_order_data_id",sy.getAccount()+orderID);
+                List<SyOrderDataItem> entityList = syOrderDataItemService.list(queryWrapper1);
+                for(SyOrderDataItem str:entityList){
+                    deleteId.add(str.getId());
+                }
+                   //比对两个几个的差集,删除deleteId集合不存的ID
+                    Collection subtract = CollectionUtils.subtract(deleteId, idsID);
+                    for (Object s:subtract) {
+                        //删除没用的数据
+                        syOrderDataItemService.deleteByID(s.toString());
+                    }
+
+
                 //添加单证id 原数据账套+原数据id
                 String syId = sy.getId();
                 sy.setId(sy.getAccount()+sy.getId());
@@ -616,4 +639,5 @@ public class SyOrderDataServiceImpl extends ServiceImpl<SyOrderDataMapper, SyOrd
         this.syOrderDataMapper = applicationContext.getBean(SyOrderDataMapper.class);
 
     }
+    
 }

+ 3 - 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/syShippingOrder/controller/SyShippingOrderController.java

@@ -112,7 +112,7 @@ public class SyShippingOrderController extends JeecgController<SyShippingOrder,
 	@AutoLog(value = "托书主表实体类-分页列表查询")
 	@ApiOperation(value="托书主表实体类-分页列表查询", notes="托书主表实体类-分页列表查询")
 	@GetMapping(value = "/list")
-	public Result<IPage<SyShippingOrder>> queryPageList(SyShippingOrder syShippingOrder,String shippingOrderDate,String smailPo,String type,
+	public Result<IPage<SyShippingOrder>> queryPageList(SyShippingOrder syShippingOrder,String shippingOrderDateB,String shippingOrderDateE,String smailPo,String type,
 								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
 								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
 								   HttpServletRequest req) {
@@ -122,8 +122,8 @@ public class SyShippingOrderController extends JeecgController<SyShippingOrder,
 		if(oConvertUtils.isNotEmpty(syShippingOrder.getOrderNumber())){
 			queryWrapper.like("b.order_number",syShippingOrder.getOrderNumber());
 		}
-		if(oConvertUtils.isNotEmpty(shippingOrderDate)){
-			queryWrapper.eq("a.shipping_order_date",shippingOrderDate);
+		if(oConvertUtils.isNotEmpty(shippingOrderDateB)){
+			queryWrapper.between("a.shipping_order_date",shippingOrderDateB,shippingOrderDateE);
 		}
 		if(oConvertUtils.isNotEmpty(syShippingOrder.getClientAbbreviation())){
 			queryWrapper.eq("b.client_abbreviation",syShippingOrder.getClientAbbreviation());

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

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections.CollectionUtils;
 import org.jeecg.modules.documents.orderData.entity.SyOrderData;
 import org.jeecg.modules.documents.orderData.entity.SyOrderDataItem;
 import org.jeecg.modules.documents.orderData.entity.SyOrderDataVO;
@@ -25,10 +26,7 @@ import org.springframework.context.ApplicationContext;
 import org.springframework.context.ApplicationContextAware;
 
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 @PersistJobDataAfterExecution
 @DisallowConcurrentExecution
@@ -212,14 +210,20 @@ public class AddOrderJob implements Job,ApplicationContextAware {
                 }
                 List<JSONObject> jianSon = JsonChangeUtils.toJSONObject(listSon);
                 List<SyOrderDataItem> syItemList = new ArrayList<>();
+                //已被参照行ID
+                List<String> idsID = new ArrayList<>();
+                //记录主表ID
+                String orderID = jianSon.get(0).get("syOrderDataId").toString();
                 for (JSONObject Object:jianSon) {
                     SyOrderDataItem sy2 = JSONObject.toJavaObject(Object, SyOrderDataItem.class);
                     sy2.setId(sy.getAccount()+sy2.getId());
                     if(isNewOrder){
                         String item = syOrderDataItemService.queryItemMub(sy2.getId());
                         if(item!=null && item.equals("已被参照")){
+                            idsID.add(sy2.getId());
                             continue;
                         }else {
+                            idsID.add(sy2.getId());
                             //更新数据前 删除旧数据防止id冲突
                             syOrderDataItemService.deleteByID(sy2.getId());
                         }
@@ -264,6 +268,22 @@ public class AddOrderJob implements Job,ApplicationContextAware {
                     }
                     syItemList.add(sy2);
                 }
+                //处理U8已经删除的数据,单证系统也需要删除
+                //第一查询改订单下所有行数据
+                List<String> deleteId = new ArrayList<>();
+                QueryWrapper<SyOrderDataItem> queryWrapper1 = new QueryWrapper<>();
+                queryWrapper1.eq("sy_order_data_id",sy.getAccount()+orderID);
+                List<SyOrderDataItem> entityList = syOrderDataItemService.list(queryWrapper1);
+                for(SyOrderDataItem str:entityList){
+                    deleteId.add(str.getId());
+                }
+                //比对两个几个的差集,删除deleteId集合不存的ID
+                Collection subtract = CollectionUtils.subtract(deleteId, idsID);
+                for (Object s:subtract) {
+                    //删除没用的数据
+                    syOrderDataItemService.deleteByID(s.toString());
+                }
+
                 //添加单证id 原数据账套+原数据id
                 String syId = sy.getId();
                 sy.setId(sy.getAccount()+sy.getId());