Browse Source

成衣接收云工厂数据接口修改

huxy 2 years ago
parent
commit
5df8706903

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

@@ -48,6 +48,7 @@ public class SyPackingListFabric implements Serializable {
 	/**修改人*/
 	@ApiModelProperty(value = "修改人")
 	private String updateBy;
+
 	/**修改日期*/
 	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
     @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@@ -152,4 +153,8 @@ public class SyPackingListFabric implements Serializable {
 	//@Excel(name = "是否被参照(0:无,1:被预托书参照,2:被装箱单参照)", width = 15)
 	@ApiModelProperty(value = "是否被参照(0:无,1:被预托书参照,2:被装箱单参照)")
 	private Integer isReference;
+
+	/**数组来源 1代表正常流程 2代表u8获取的数据 3代表云工厂推送的数据*/
+	@ApiModelProperty(value = "数组来源")
+	private String dataSource;
 }

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

@@ -504,6 +504,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 			queryWrapperCount.select("lpad(count(0)+1,6,0) as id");
 			String dateNo ="ML"+sf.format(System.currentTimeMillis())+getOne(queryWrapperCount).getId();//获取单据号
 			syPackingListFabric.setDocumentNo(dateNo);//单据号
+			syPackingListFabric.setDataSource("3");//云工厂推送的数据
 			syPackingListFabric.setStatus("0");
 			syPackingListFabric.setDelFlag("0");
 			syPackingListFabricMapper.insert(syPackingListFabric);
@@ -776,6 +777,7 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 					queryWrapperCount.select("lpad(count(0)+1,6,0) as id");
 					String dateNo = "FL" + sf.format(System.currentTimeMillis()) + getOne(queryWrapperCount).getId();//生成单据号
 					sy.setDocumentNo(dateNo);//单据号
+					sy.setDataSource("2");//直接从u8拉取的数据
 					sy.setU8Id(account + sy.getU8Id());
 					sy.setId(sy.getU8Id());
 					sy.setGarmentFactory(maps3.get(sy.getId()));//获取成衣工厂

+ 30 - 12
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splt/controller/SyPackingListTailoringController.java

@@ -997,27 +997,47 @@ public class SyPackingListTailoringController {
 	 public JSONArray pushSplt(String id) {
   		 List list=new ArrayList();
   		 SyPackingListTailoring syPackingListTailoring= syPackingListTailoringService.getById(id);
+		 syPackingListTailoring.setContainerCode(null);//集装箱代号
+		 syPackingListTailoring.setContainerNumber(null);//集装箱号
+		 //syPackingListTailoring.setExportInvoiceNo(syPreAssembledPackingList);//外销发票号
+		 syPackingListTailoring.setDepositaryReceiptNo(null);//预托书号
+		 syPackingListTailoring.setBusinessTypeValue(null);//业务类型
+		 syPackingListTailoring.setSalesman(null);//业务员
+		 syPackingListTailoring.setSalesDepartment(null);//业务部门
+		 syPackingListTailoring.setCustomer(null);//客户
+		 syPackingListTailoring.setCreateTime(null);
+		 syPackingListTailoring.setCustomerAbbreviation(null);//客户简称
   		 QueryWrapper queryWrapper=new QueryWrapper();
   		 queryWrapper.eq("sy_packing_list_tailoring_id",id);
   		 List<SyPackingListTailoringItem> item=syPackingListTailoringItemService.list(queryWrapper);
+		 syPackingListTailoring.setId(null);
+  		 for (SyPackingListTailoringItem s1 : item){
+  		 	s1.setId(null);
+  		 	s1.setCreateTime(null);
+			s1.setTotalPrice(null);//计算总价
+			s1.setSalesman(null);//业务员
+			s1.setSalesDepartment(null);//业务部门
+			s1.setSpurOrSubOrder(null);//采购委外订单号
+			s1.setMasterMetering(null);//计量单位
+			s1.setFactoryUnitPrice(null);//工厂单价
+			s1.setInventoryCcode(null);//物料分类
+			s1.setWithCode(null);//配码规则
+			s1.setOmpoAccount(null);//采购委外账套号
+			s1.setYmoney(null);//佣金
+			s1.setElementsId(null);//申报要素id
+			/*s1.getOmpoId(null)//采购委外主表id
+			s1.setOmpoIdItem(null);//采购委外子表id*/
+		 }
   		 syPackingListTailoring.setSyPackingListTailoringItemList(item);
-		 System.out.println("带时区的日期\t"+syPackingListTailoring.getCreateTime());
-		 System.out.println("不带时区的日期\t"+new SimpleDateFormat("yyyy-MM-dd").format(syPackingListTailoring.getCreateTime()));
-		 System.out.println("syPackingListTailoring\n"+syPackingListTailoring);
   		 list.add(syPackingListTailoring);
 		 Gson userGson = new GsonBuilder().create();
 		 JSONObject jsonObject=new JSONObject();
 		 jsonObject.put("splt", userGson.toJson(JSONObject.toJSON(list)));
-		 System.out.println("jsonObject.get(splt)\n"+ userGson.toJson(JSONObject.toJSON(list)));
 		 JSONArray jsonArray=new JSONArray();
 		 jsonArray.add(jsonObject);
   		 return jsonArray;
 	 }
 
-	 Date dateFormat(String sdf){
-		return null;
-	 }
-
 	 @PostMapping(value = "/saveBath")
 	 @AutoLog(value = "测试接收功能")
 	 @ApiOperation(value="测试接收功能", notes="测试接收功能")
@@ -1038,7 +1058,7 @@ public class SyPackingListTailoringController {
 					 syPackingListTailoringService.saveList(syPackingListTailorings);
 				 }
 				 result.setSuccess(true);
-				 result.success("操作成功");
+				 result.setMessage("操作成功");
 			 }
 		 } catch (Exception e) {
 			 e.printStackTrace();
@@ -1202,6 +1222,4 @@ public class SyPackingListTailoringController {
 		 }
 		 return result;
 	 }
-
-
- }
+}

+ 51 - 8
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splt/service/impl/SyPackingListTailoringServiceImpl.java

@@ -40,6 +40,7 @@ import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
 
@@ -199,35 +200,77 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 	 * @param syPackingListTailoring
 	 * @return
 	 */
-	public synchronized SyPackingListTailoring saveMain(SyPackingListTailoring syPackingListTailoring){
+	@Transactional
+	public synchronized SyPackingListTailoring saveMain(SyPackingListTailoring syPackingListTailoring)  {
 		List<SyPackingListTailoringItem> items=syPackingListTailoring.getSyPackingListTailoringItemList();
 		syPackingListTailoring.setDelFlag("0");//删除状态默认为0
 		syPackingListTailoring.setPushState("0");//推送状态默认为0
 		syPackingListTailoring.setStatus("0");//单据状态默认为0
 		syPackingListTailoring.setDocumentNo(randomStr());//获取单据号
+		System.out.println("单据号是\t"+syPackingListTailoring.getDocumentNo());
 		syPackingListTailoring.setId(null);
+		syPackingListTailoring.setCreateTime(null);
+		SyPreAssembledPackingList syPreAssembledPackingList=syPreAssembledPackingListMapper.selectById(syPackingListTailoring.getSyPreAssembledPackingListId());
+		if(syPreAssembledPackingList==null){
+			throw new JeecgBootException("数据库找不到对应的预装箱单id"+syPackingListTailoring.getSyPreAssembledPackingListId());
+		}
+		syPackingListTailoring.setContainerCode(syPreAssembledPackingList.getContainerCode());//集装箱代号
+		syPackingListTailoring.setContainerNumber(syPreAssembledPackingList.getContainerNumber());//集装箱号
+		//syPackingListTailoring.setExportInvoiceNo(syPreAssembledPackingList);//外销发票号
+		syPackingListTailoring.setDepositaryReceiptNo(syPreAssembledPackingList.getDepositaryReceiptNo());//预托书号
+		syPackingListTailoring.setBusinessTypeValue(syPreAssembledPackingList.getBusinessTypeValue());//业务类型
+		syPackingListTailoring.setSalesman(syPreAssembledPackingList.getSalesman());//业务员
+		syPackingListTailoring.setSalesDepartment(syPreAssembledPackingList.getSalesDepartment());//业务部门
+		syPackingListTailoring.setCustomer(syPreAssembledPackingList.getCustomer());//客户
+		syPackingListTailoring.setCustomerAbbreviation(syPreAssembledPackingList.getCustomerAbbreviation());//客户简称
 		syPackingListTailoringMapper.insert(syPackingListTailoring);//往主表添加数据
 		Map<String,String> mapId=new HashMap<String, String>();//key为发运明细子表id,value为分组id
-		syPackingListTailoring.setTotal(new BigDecimal("0"));
+		/*syPackingListTailoring.setTotal(new BigDecimal("0"));
 		syPackingListTailoring.setTotalBoxes(new BigDecimal("0"));
 		syPackingListTailoring.setTotalVolume(new BigDecimal("0"));
 		syPackingListTailoring.setTotalGrossWeight(new BigDecimal("0"));
-		syPackingListTailoring.setTotalGrossWeight(new BigDecimal("0"));
+		syPackingListTailoring.setTotalGrossWeight(new BigDecimal("0"));*/
 		syPackingListTailoring.setTotalPrice(new BigDecimal("0"));
 		for(SyPackingListTailoringItem s1 : items){//调整面辅料云工厂接口,导入添加验证,改面辅料金额计算
+			SyPreAssembledPackingListItem syPreAssembledPackingListItem=syPreAssembledPackingListItemMapper.selectById(s1.getSyPreAssembledPackingListItemId());
+			if(syPreAssembledPackingListItem==null){
+				throw new JeecgBootException("数据库找不到对应的预装箱单子表id"+s1.getSyPreAssembledPackingListItemId());
+			}
 			s1.setId(null);
-			s1.setSyPackingListTailoringId(syPackingListTailoring.getId());//获取主表id
+			s1.setSyPackingListTailoringId(syPackingListTailoring.getId());//主表id
+			s1.setSyPreAssembledPackingListId(syPackingListTailoring.getSyPreAssembledPackingListId());//预装箱单主表id
+
 			if(!mapId.containsKey(s1.getGroupId())){//如果这个发运明细id没有分组id,就生成一个新的分组id
-				mapId.put(s1.getGroupId(), org.jeecg.modules.system.util.oConvertUtils.getId());
+				mapId.put(s1.getGroupId(), org.jeecg.modules.system.util.oConvertUtils.getId());//分组id
 				syPackingListTailoring.setTotalBoxes(syPackingListTailoring.getTotalBoxes().add(s1.getBoxNumber()));//总箱数
 			}
 			s1.setGroupId(mapId.get(s1.getGroupId()));//获取id
-			syPackingListTailoring.setTotalBoxes(s1.getBoxNumber());//总箱数
+			s1.setUnitPrice(syPreAssembledPackingListItem.getUnitPrice());//单价
+			try{
+				s1.setHod(new SimpleDateFormat("yyyy-MM-dd").parse(syPreAssembledPackingListItem.getHod()));//字符转化为日期,需要申明异常
+			}catch (Exception e){
+				e.printStackTrace();
+			}
+			s1.setTotalPrice(s1.getTotal().multiply(s1.getUnitPrice()));//计算总价
+			s1.setSalesman(syPreAssembledPackingListItem.getSalesman());//业务员
+			s1.setSalesDepartment(syPreAssembledPackingListItem.getSalesDepartment());//业务部门
+			s1.setSpurOrSubOrder(syPreAssembledPackingListItem.getSpurOrSubOrder());//采购委外订单号
+			s1.setMasterMetering(syPreAssembledPackingListItem.getMasterMetering());//计量单位
+			s1.setFactoryUnitPrice(syPreAssembledPackingListItem.getFactoryUnitPrice());//工厂单价
+			s1.setInventoryCcode(syPreAssembledPackingListItem.getInventoryCcode());//物料分类
+			s1.setWithCode(syPreAssembledPackingListItem.getWithCode());//配码规则
+			s1.setOmpoAccount(syPreAssembledPackingListItem.getOmpoAccount());//采购委外账套号
+			s1.setYmoney(syPreAssembledPackingListItem.getYmoney());//佣金
+			s1.setElementsId(syPackingListTailoring.getElementsId());//申报要素id
+			/*s1.getOmpoId(syPreAssembledPackingListItem.getOmpoId())//采购委外主表id
+			s1.setOmpoIdItem(syPreAssembledPackingListItem.getOmpoIdItem());//采购委外子表id*/
+			/*syPackingListTailoring.setTotalBoxes(s1.getBoxNumber());//总箱数
 			syPackingListTailoring.setTotal(syPackingListTailoring.getTotal().add(s1.getTotal()));//总件数
 			syPackingListTailoring.setTotalNetWeight(syPackingListTailoring.getTotalNetWeight().add(s1.getTotalNetWeight()));//总净重
 			syPackingListTailoring.setTotalGrossWeight(syPackingListTailoring.getTotalGrossWeight().add(s1.getTotalGrossWeight()));//总毛重
-			syPackingListTailoring.setTotalVolume(syPackingListTailoring.getTotalVolume().add(s1.getTotalVolume()));//总体积
+			syPackingListTailoring.setTotalVolume(syPackingListTailoring.getTotalVolume().add(s1.getTotalVolume()));//总体积*/
 			syPackingListTailoring.setTotalPrice(syPackingListTailoring.getTotalPrice().add(s1.getTotalPrice()));//总价
+			syPackingListTailoring.setCreateTime(null);
 			syPackingListTailoringItemMapper.insert(s1);//新增子表数据
 		}
 		return syPackingListTailoring;
@@ -241,7 +284,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 	@Transactional
 	public List<SyPackingListTailoring> saveList(List<SyPackingListTailoring> syPackingListTailoring) {
 		for (SyPackingListTailoring splt : syPackingListTailoring){
-			splt.setWhetherCloudFactoryPush("y");//y代表是云工厂推送的
+			splt.setWhetherCloudFactoryPush("1");//1代表是云工厂推送的
 			splt.setId(null);//id设置为null
 			saveMain(splt);//无sizeTable的新增方法
 		}