Browse Source

Merge remote-tracking branch 'origin/master'

fenghaifu 2 years ago
parent
commit
27662acd29

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

@@ -100,7 +100,7 @@
         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}
+        where sm.order_number=#{orderNumber} and sm.account=#{account} and sp.del_flag!='1'
         GROUP BY sm.order_number,sm.account
     </select>
 <!-- select  case sum(quantity)-sum(surplus_num)

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

@@ -206,6 +206,7 @@
     <select id="queryOM" resultType="org.jeecg.modules.documents.orderData.entity.SyOrderDataVO" >
         SELECT
             om.cCode as ompoCode,om.MOID as ompoId,od.MODetailsID as ompoIdItem,
+                            v.cVenAbbName as supplier,
             od.cDefine23  as guangpeiGateWidth,od.dArriveDate,
             om.cVenCode as supplierCode,od.iTaxPrice,'903' as ompoAccount
         FROM OM_MOMain om

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

@@ -213,7 +213,7 @@ public class SyOrderDataServiceImpl extends ServiceImpl<SyOrderDataMapper, SyOrd
                     listSon = senYuDataSourceThree.queryForList(sql);
                 }
                 List<JSONObject> jianSon = JsonChangeUtils.toJSONObject(listSon);
-                int size = 0;
+                List<SyOrderDataItem> syItemList = new ArrayList<>();
                 for (JSONObject Object:jianSon) {
                     SyOrderDataItem sy2 = JSONObject.toJavaObject(Object, SyOrderDataItem.class);
                     sy2.setId(sy.getAccount()+sy2.getId());
@@ -252,14 +252,13 @@ public class SyOrderDataServiceImpl extends ServiceImpl<SyOrderDataMapper, SyOrd
                         }
                     }
 
-                    syOrderDataItemService.save(sy2);
-                    size++;
+                    syItemList.add(sy2);
                 }
                 //添加单证id 原数据账套+原数据id
                 String syId = sy.getId();
                 sy.setId(sy.getAccount()+sy.getId());
 
-                if(size<=0){
+                if(syItemList.size()<jianSon.size()){
                     //回写不拉取的数据状态 0
                     String blackWrite = "UPDATE SO_SOMain SET cdefine15 = '0' WHERE id='"+syId+"'";
                     if(sy.getAccount().equals("901")){
@@ -278,6 +277,9 @@ public class SyOrderDataServiceImpl extends ServiceImpl<SyOrderDataMapper, SyOrd
                     }
                 }
                 //添加主表数据进入数据库
+                for (SyOrderDataItem sy2:syItemList) {
+                    syOrderDataItemService.save(sy2);
+                }
                 save(sy);
                 //回写拉取的数据状态 1
                 String blackWrite = "UPDATE SO_SOMain SET cdefine15 = '1' WHERE id='"+syId+"'";

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/syShippingOrder/mapper/xml/SyShippingOrderMapper.xml

@@ -94,7 +94,7 @@ a.salesman, a.operating_department as operatingDepartment, a.purchase_outsourcin
  FROM sy_shipping_order_item a
   left join sy_packing_list_tailoring_item c
 on a.tailoring_fabric_item_id = c.id
-  where del_flag = 0 and sy_shipping_order_item_id = #{id}
+  where a.del_flag = 0 and sy_shipping_order_item_id = #{id}
 group by c.group_id order by style_number,smail_po desc
     </select>
 

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

@@ -202,7 +202,7 @@ public class AddOrderJob implements Job,ApplicationContextAware {
                     listSon = senYuDataSourceThree.queryForList(sql);
                 }
                 List<JSONObject> jianSon = JsonChangeUtils.toJSONObject(listSon);
-                int size = 0;
+                List<SyOrderDataItem> syItemList = new ArrayList<>();
                 for (JSONObject Object:jianSon) {
                     SyOrderDataItem sy2 = JSONObject.toJavaObject(Object, SyOrderDataItem.class);
                     sy2.setId(sy.getAccount()+sy2.getId());
@@ -240,15 +240,13 @@ public class AddOrderJob implements Job,ApplicationContextAware {
                             sy2.setRSupplier(rsup.get(1));
                         }
                     }
-
-                    syOrderDataItemService.save(sy2);
-                    size++;
+                    syItemList.add(sy2);
                 }
                 //添加单证id 原数据账套+原数据id
                 String syId = sy.getId();
                 sy.setId(sy.getAccount()+sy.getId());
 
-                if(size<=0){
+                if(syItemList.size()<jianSon.size()){
                     //回写不拉取的数据状态 0
                     String blackWrite = "UPDATE SO_SOMain SET cdefine15 = '0' WHERE id='"+syId+"'";
                     if(sy.getAccount().equals("901")){
@@ -260,7 +258,10 @@ public class AddOrderJob implements Job,ApplicationContextAware {
                     }
                     continue;
                 }
-                //添加主表数据进入数据库
+                //添加主子表数据进入数据库
+                for (SyOrderDataItem sy2:syItemList) {
+                    syOrderDataItemService.save(sy2);
+                }
                 syOrderDataService.save(sy);
                 //回写拉取的数据状态 1
                 String blackWrite = "UPDATE SO_SOMain SET cdefine15 = '1' WHERE id='"+syId+"'";

+ 17 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/controller/SyPackingListFabricController.java

@@ -22,6 +22,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
 import org.apache.poi.ss.usermodel.*;
+import org.apache.poi.xssf.usermodel.XSSFFormulaEvaluator;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.jeecg.common.exception.JeecgBootException;
 import org.jeecg.common.system.api.ISysBaseAPI;
@@ -560,7 +561,22 @@ public class SyPackingListFabricController {
 								 throw new JeecgBootException("请填写第"+(x+1)+"行里的"+sheet.getRow(3).getCell(i));
 							 }
 						 }
-						 itemStrs.add(cell.toString());
+						 FormulaEvaluator formulaEvaluator = new XSSFFormulaEvaluator((XSSFWorkbook) workbook1);
+						 //获取单元格内容的类型
+						 CellType cellType = cell.getCellType();
+						 //判断是否存储的为公式,此处本可以不加判断
+						 if (cellType.equals(CellType.FORMULA)){
+							 //获取公式,可以理解为已String类型获取cell的值输出
+							 String cellFormula = cell.getCellFormula();
+							 System.out.println(cellFormula);
+							 //执行公式,此处cell的值就是公式
+							 CellValue evaluate = formulaEvaluator.evaluate(cell);
+							 System.out.println(evaluate.formatAsString());
+							 itemStrs.add(evaluate.formatAsString());
+						 }else{
+							 itemStrs.add(cell.toString());
+						 }
+
 					 }
 					 SyPackingListFabricItem syPackingListFabricItem=new SyPackingListFabricItem(itemStrs.toArray(new String[itemStrs.size()]));
 					 items.add(syPackingListFabricItem);

+ 5 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/entity/SyPackingListFabric.java

@@ -195,7 +195,11 @@ public class SyPackingListFabric implements Serializable {
 		plumbumNo=strs[3];
 		exportInvoiceNo=strs[4];
 		//createTime=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(strs[5]);
-		preparedDate=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(strs[5]);
+		try{
+			preparedDate=new SimpleDateFormat("yyyy/m/d").parse(strs[5]);
+		}catch (Exception e){
+			preparedDate=new SimpleDateFormat("yyyy-MM-dd").parse(new SimpleDateFormat("yyyy-MM-dd").format(System.currentTimeMillis()));
+		}
 		//createTime=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(strs[0]) ;
 		//documentNo=strs[0];
 	}

+ 26 - 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/service/impl/SyPackingListFabricServiceImpl.java

@@ -88,6 +88,12 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 	private ISenYuDataSourceThree senYuDataSourceThree;
 	@Autowired
 	private IDxpDataPlanService dxpDataPlanService;
+
+	/**
+	 * 添加
+	 * @param syPackingListFabric
+	 * @return
+	 */
 	@Override
 	@Transactional
 	public synchronized SyPackingListFabric saveMain(SyPackingListFabric syPackingListFabric) {
@@ -96,6 +102,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 		syPackingListFabric.setDelFlag("0");
 		syPackingListFabric.setStatus("0");
 		syPackingListFabric.setDocumentNo(dateNo);//单据号
+		syPackingListFabric.setDataSource("参照出运明细");//参照
 		syPackingListFabric.setPreparedBy("admin");//将admin设置为制单人
 		syPackingListFabric.setCreateBy("admin");//将admin设置为制单人
 		syPackingListFabricMapper.insert(syPackingListFabric);
@@ -383,6 +390,10 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 		}
 	}
 
+	/***
+	 *
+	 * @param syPackingListTailorings
+	 */
 	@Override
 	@Transactional
 	public void saveList(List<SyPackingListFabric> syPackingListTailorings) {
@@ -396,7 +407,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 			queryWrapperCount.select("lpad(count(0)+1,6,0) as id");*/
 			String dateNo ="ML"+sf.format(System.currentTimeMillis());//获取单据号
 			syPackingListFabric.setDocumentNo(dateNo);//单据号
-			syPackingListFabric.setDataSource("3");//云工厂推送的数据
+			syPackingListFabric.setDataSource("云工厂推送");//云工厂推送的数据
 			syPackingListFabric.setWhetherCloudFactoryPush("1");//1代表是云工厂推送的
 			syPackingListFabric.setStatus("0");
 			syPackingListFabric.setDelFlag("0");
@@ -422,6 +433,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 					syPackingListFabric.setSyDeclarationElementsId(item.getShippingDetailsId());//出运明细主表id
 					s1.setSpecificationAndModel(item.getSpecificationAndModel());//规格型号
 					s1.setAccount(item.getAccount());//账套号
+					s1.setPurOrSubOrder(item.getPurOrSubOrder());//委外采购订单
 					s1.setOrderNumber(item.getOrderNumber());//订单号
 
 					if((s1.getInventoryCcode().indexOf("03")!=-1&&!s1.getInventoryCcode().equals("0399")) ||
@@ -482,6 +494,11 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 		}
 	}
 
+	/**
+	 * excel导入
+	 * @param maps
+	 * @return
+	 */
 	@Override
 	@Transactional
 	public boolean excelAdd(Map<String,SyPackingListFabric> maps) {
@@ -494,6 +511,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 				//syPackingListFabric.setGarmentFactory(str);//成衣工厂
 				syPackingListFabric.setDocumentNo(dateNo);//单据号
 				syPackingListFabric.setStatus("0");//状态
+				syPackingListFabric.setDataSource("excel导入");//excel导入
 				syPackingListFabric.setPreparedBy("admin");//制单人
 				syPackingListFabric.setCreateBy("admin");//制单人
 				//syPackingListFabric.setPreparedDate(new SimpleDateFormat("yyyy-MM-dd").parse(new SimpleDateFormat("yyyy-MM-dd").format(System.currentTimeMillis())));
@@ -515,6 +533,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 					item.setSyOrderDataItemId(syShippingDetailsItem.getSyOrderDataItemId());//销售订单主表id
 					item.setSyOrderDataId(syShippingDetailsItem.getSyOrderDataId());//销售订单子表id
 					item.setGroupId(oConvertUtils.getId());
+					item.setPurOrSubOrder(syShippingDetailsItem.getPurOrSubOrder());//委外采购订单
 					item.setManualYarnUnitPrice(syShippingDetailsItem.getManualYarnUnitPrice());//手册纱单价
 					item.setManualYarnProportion(syShippingDetailsItem.getManualYarnProportion());//手册纱占比%
 					item.setInventoryName(syShippingDetailsItem.getInventoryName());//存货名称(辅料名称)
@@ -853,7 +872,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 
 					if(item.getInventoryCcode()!=null&&item.getInventoryCcode().indexOf("040")>-1&&mapt.get("account").equals("903")){//903账套中物料分类为040的印花面料
 						List<Map<String,Object>> orderDataItem3 =syPackingListFabricMapper.getOM_MOMaterials(item.getOmpoIdItem(),item.getInventoryCode());//委外订单子表
-						Map<String,Object> mapStr1=syPackingListFabricMapper.getOM_MOMain(item.getOmpoIdItem(),item.getInventoryCode());//供应商编码,仓库编码
+						Map<String,Object> mapStr1=syPackingListFabricMapper.getOM_MOMain(item.getOmpoIdItem(),item.getInventoryCode());//供应商编码,存货编码
 						System.out.println("mapStr1\n"+mapStr1);
 						if(mapStr1==null) {
 							throw new JeecgBootException(mapt.get("account")+"账套,委外订单子表行id"+item.getOmpoIdItem()+"未找到对应的染厂物料");
@@ -1366,7 +1385,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 					String dateNo = "FL" + sf.format(System.currentTimeMillis()) + getOne(queryWrapperCount).getId();//生成辅料单据号*/
 
 					sy.setDocumentNo(account+sy.getDocumentNo());//单据号
-					sy.setDataSource("2");//直接从u8拉取的数据
+					sy.setDataSource("u8拉取");//直接从u8拉取的数据
 					sy.setU8Id(account + sy.getU8Id());
 					sy.setId(sy.getU8Id());
 					String sql2 = "select " +
@@ -1466,6 +1485,10 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 							}
 							sy1.setElementsId(elementsId);//申报要素id
 							sy1.setSupplier(syShippingDetailsItem.getSupplier());//供应商编码
+							sy1.setOmpoAccount(syShippingDetailsItem.getOmpoAccount());//账套号
+							sy1.setOmpoIdItem(syShippingDetailsItem.getOmpoIdItem());//委外采购子表id
+							sy1.setOmpoId(syShippingDetailsItem.getOmpoId());//委外采购主表id
+							sy1.setPurOrSubOrder(syShippingDetailsItem.getPurOrSubOrder());//委外采购订单号
 							sy1.setSupplierCode(syShippingDetailsItem.getSupplierCode());//供应商
 							sy1.setSupplierPrintingPlant(syShippingDetailsItem.getSupplier());//供应商编码
 							sy1.setSupplierCodePrintingPlant(syShippingDetailsItem.getSupplierCode());//供应商