Jelajahi Sumber

托书,发运明细调整

zengtx 2 tahun lalu
induk
melakukan
0100751336

+ 15 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/shippingDetails/controller/SyShippingDetailsController.java

@@ -42,6 +42,9 @@ import java.util.logging.SimpleFormatter;
 import org.jeecg.modules.spapl.entity.SyPreAssembledPackingListItem;
 import org.jeecg.modules.spapl.service.impl.SyPreAssembledPackingListItemServiceImpl;
 import org.jeecg.modules.spapl.vo.SyPreAssembledPackingListPage;
+import org.jeecg.modules.splfi.entity.SyPackingListFabricItem;
+import org.jeecg.modules.splfi.service.impl.SyPackingListFabricItemServiceImpl;
+import org.jeecg.modules.splt.service.impl.SyPackingListTailoringItemServiceImpl;
 import org.jeecg.modules.system.util.oConvertUtils;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -96,6 +99,8 @@ public class SyShippingDetailsController extends JeecgController<SyShippingDetai
 	 private SyGetOrderServiceImpl syGetOrderService;
 	 @Autowired
 	 private SyPreAssembledPackingListItemServiceImpl syPreAssembledPackingListItemService;
+	 @Autowired
+	 private SyPackingListFabricItemServiceImpl syPackingListFabricItemService;
 	
 	/**
 	 * 分页列表查询
@@ -512,7 +517,7 @@ public class SyShippingDetailsController extends JeecgController<SyShippingDetai
 						  result.setMessage("部分单据已取消提交,请勿重复取消提交!");
 						  return result;
 					  }
-					  //判断下游是否有单据 sy_pre_assembled_packing_list_item
+					  //判断下游是否有预装箱单-成衣单据
 					  QueryWrapper<SyPreAssembledPackingListItem> queryWrapper = new QueryWrapper<SyPreAssembledPackingListItem>();
 					  queryWrapper.eq("sy_declaration_elements_item_id",li.getId()).eq("del_flag",0);
                       List<SyPreAssembledPackingListItem> packingListItems = syPreAssembledPackingListItemService.list(queryWrapper);
@@ -521,6 +526,15 @@ public class SyShippingDetailsController extends JeecgController<SyShippingDetai
 						  result.setMessage("该单据被下游参照,不允许取消提交!");
 						  return result;
 					  }
+					  //判断下游是否有装箱单-面辅料单据
+					  QueryWrapper<SyPackingListFabricItem> queryWrapper1 = new QueryWrapper<SyPackingListFabricItem>();
+					  queryWrapper1.eq("sy_shipping_details_item_id",li.getId()).eq("del_flag",0);
+					  List<SyPackingListFabricItem> packingListFabricItem = syPackingListFabricItemService.list(queryWrapper1);
+					  if(packingListFabricItem.size()!=0){
+						  result.setSuccess(false);
+						  result.setMessage("该单据被下游参照,不允许取消提交!");
+						  return result;
+					  }
 				  }
 			  }
 		  }

+ 2 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/shippingDetails/entity/SyShippingDetailsItem.java

@@ -439,6 +439,8 @@ public class SyShippingDetailsItem {
 		this.ymoney = orderDataVo.getYmoney();
 		this.submitStatus = 0;
         this.weight = orderDataVo.getWeight();
+        this.rSupplier = orderDataVo.getRSupplier();
+        this.rSupplierCode = orderDataVo.getRSupplierCode();
 
 	}
 }

+ 8 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/shippingDetails/entity/VO/OrderDataVo.java

@@ -260,4 +260,12 @@ public class OrderDataVo {
 
     //克重
     private String weight;
+
+    @Excel(name = "染厂供应商编码", width = 15)
+    @ApiModelProperty(value = "染厂供应商编码")
+    private java.lang.String rSupplierCode;
+
+    @Excel(name = "染厂供应商", width = 15)
+    @ApiModelProperty(value = "染厂供应商")
+    private java.lang.String rSupplier;
 }

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

@@ -144,7 +144,7 @@ ${ew.customSqlSegment}
             a.deposit_ratio as depositRatio,a.deposit as deposit,a.collaborative_route as collaborativeRoute,a.term_of_payment as termOfPayment,a.end_customer as endCustomer,
              a.order_remarks as orderRemarks,a.price_remarks as priceRemarks,a.order_change_description as orderChangeDescription,b.supplier as supplier,b.i_tax_price as iTaxPrice,
              case when b.ymoney is null then '0' else b.ymoney end as ymoney,b.ompo_id as ompoId,b.inventory_ccode as inventoryCcode,
-             b.ompo_id_item as ompoIdItem,b.ompo_account as ompoAccount,b.ompo_code as purOrSubOrder
+             b.ompo_id_item as ompoIdItem,b.ompo_account as ompoAccount,b.ompo_code as purOrSubOrder,b.r_supplier_code as rSupplierCode,b.r_supplier as rSupplier
              from sy_order_data a
               left join sy_order_data_item b
         on a.id = b.sy_order_data_id and b.del_flag = 0

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

@@ -356,8 +356,8 @@ public class SyShippingOrderController extends JeecgController<SyShippingOrder,
 		  }
 
 			  queryWrapper.eq("a.del_flag",0).eq("b.del_flag",0).eq("a.status",1).eq("a.is_Reference",0);
+		      queryWrapper.orderByDesc("a.create_time");
 		      queryWrapper.groupBy("b.group_id");
-			  queryWrapper.groupBy("a.document_No");
 		  pageList = syShippingOrderService.queryTailoring(page,queryWrapper);
 
 
@@ -385,6 +385,7 @@ public class SyShippingOrderController extends JeecgController<SyShippingOrder,
 		  }
 		  queryWrapper.eq("a.del_flag",0).eq("b.del_flag",0).eq("a.status",1);
 		  queryWrapper.eq("a.is_Reference",0).eq("c.del_flag",0);
+		  queryWrapper.orderByDesc("a.create_time");
 		  queryWrapper.groupBy("b.group_id");
 		  pageList = syShippingOrderService.queryFabric(page,queryWrapper);
 

+ 11 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/syShippingOrder/entity/SyShippingOrderItem.java

@@ -1,6 +1,7 @@
 package org.jeecg.modules.documents.syShippingOrder.entity;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
 import java.util.Date;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -168,4 +169,14 @@ public class SyShippingOrderItem {
 	@Excel(name = "客户简称", width = 15)
 	@ApiModelProperty(value = "客户简称")
 	private java.lang.String clientAbbreviation;
+
+	//箱数
+	@TableField(exist = false)
+	private BigDecimal planQuantity;
+	//采购/委外订单号
+	@TableField(exist = false)
+	private String purOrSubOrder;
+
+	//金额
+	private BigDecimal totalPrice;
 }

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

@@ -5,9 +5,9 @@
     <select id="syShippingOrderPageList" resultType="org.jeecg.modules.documents.syShippingOrder.entity.SyShippingOrder">
   select a.id,a.shipping_order_number as shippingOrderNumber,b.order_number as orderNumber,a.export_invoice_no as exportInvoiceNo,
   b.distribution_point as distributionPoint,a.unit_in_operation as unitInOperation,a.box_number as boxNumber,
-  sum(b.gross_weight) as totalGrossWeight,b.volume as totalVolume,b.box_number as boxNumber,
+  sum(b.gross_weight) as totalGrossWeight,b.volume as totalVolume,b.box_number as planQuantity,b.client_abbreviation as clientAbbreviation,
   a.money,a.the_actual_shipping_date as theActualShippingDate,a.exchange_earnings_text as exchangeEarningsText,
-  a.consignee,a.bill_of_lading_or_carriage_receipt as billOfLadingOrCarriageReceipt,
+  a.consignee,a.bill_of_lading_or_carriage_receipt as billOfLadingOrCarriageReceipt,a.the_final_shipping_date as theFinalShippingDate,
   a.addressee,a.trade_country as tradeCountry,a.arrive_in_country as arriveInCountry,a.export_port as exportPort,
   a.notifier,a.nottfy,a.destination_port as destinationPort,a.latest_date_of_shipment as latestDateOfShipment,a.the_documents_state as theDocumentsState
   from sy_shipping_order a
@@ -74,10 +74,10 @@ c.english_product_name as englishProductName,'成衣' as readyFabric,b.supplier
     </select>
 
     <select id="queryItem" resultType="org.jeecg.modules.documents.syShippingOrder.entity.SyShippingOrderItem">
-SELECT GROUP_CONCAT(id) as id, sy_shipping_order_item_id as syShippingOrderItemId, english_name as englishName, style_number as styleNumber, smail_po as smailPo,
-sum(number) as number, sum(box_number) as boxNumber, sum(gross_weight) as grossWeight, sum(net_weight) as netWeight, sum(volume) as volume,
+SELECT GROUP_CONCAT(id) as id, sy_shipping_order_item_id as syShippingOrderItemId, english_name as englishName, style_number as styleNumber, smail_po as smailPo,create_by as createBy,
+sum(number) as number, sum(box_number) as planQuantity, sum(gross_weight) as grossWeight, sum(net_weight) as netWeight, sum(volume) as volume,sum(total_price) as totalPrice,
 distribution_point as distributionPoint, container_code as containerCode, container_number as containerNumber, unit_price as unitPrice, pre_shipment_date as preShipmentDate,
-salesman, operating_department as operatingDepartment, purchase_outsourcing_order_no as purchaseOutsourcingOrderNo, outsourcing_factory_for_procurement as outsourcingFactoryForProcurement,
+salesman, operating_department as operatingDepartment, purchase_outsourcing_order_no as purOrSubOrder, outsourcing_factory_for_procurement as outsourcingFactoryForProcurement,
  memo, sort, ready_fabric as readyFabric, tailoring_fabric_id as tailoringFabricId, tailoring_fabric_item_id as tailoringFabricItemId
  FROM sy_shipping_order_item where del_flag = 0 and sy_shipping_order_item_id = #{id}
 group by sy_shipping_order_item_id

+ 4 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/syShippingOrder/service/ISyShippingOrderService.java

@@ -7,6 +7,8 @@ import org.jeecg.modules.documents.syShippingOrder.entity.SyShippingOrder;
 import com.baomidou.mybatisplus.extension.service.IService;
 import org.jeecg.modules.documents.syShippingOrder.entity.VO.SyPackingList;
 
+import java.text.ParseException;
+
 /**
  * @Description: 托书主表实体类
  * @Author: jeecg-boot
@@ -25,10 +27,10 @@ public interface ISyShippingOrderService extends IService<SyShippingOrder> {
     IPage<SyPackingList> queryFabric(IPage<SyPackingList> page, QueryWrapper<SyPackingList> queryWrapper);
 
     //新增
-    public SyShippingOrder syShippingOrderAdd(SyShippingOrder syShippingOrder);
+    public SyShippingOrder syShippingOrderAdd(SyShippingOrder syShippingOrder) throws ParseException;
 
     //修改
-    public SyShippingOrder syShippingOrderEdit(SyShippingOrder syShippingOrder);
+    public SyShippingOrder syShippingOrderEdit(SyShippingOrder syShippingOrder) throws ParseException;
 
     //提交/取消提交
     public int syShippingOrderSubmit(String id,String type);

+ 39 - 5
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/syShippingOrder/service/impl/SyShippingOrderServiceImpl.java

@@ -3,7 +3,9 @@ package org.jeecg.modules.documents.syShippingOrder.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.apache.poi.util.StringUtil;
+import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.exception.JeecgBootException;
+import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.documents.letterDeposit.entity.SyRmb;
 import org.jeecg.modules.documents.letterDeposit.entity.SyUsd;
@@ -30,6 +32,8 @@ import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
@@ -100,7 +104,7 @@ public class SyShippingOrderServiceImpl extends ServiceImpl<SyShippingOrderMappe
      * @return
      */
     @Override
-    public SyShippingOrder syShippingOrderAdd(SyShippingOrder syShippingOrder) {
+    public SyShippingOrder syShippingOrderAdd(SyShippingOrder syShippingOrder) throws ParseException {
 
         //子表集合
         List<SyShippingOrderItem> itemList = new ArrayList<>();
@@ -117,6 +121,13 @@ public class SyShippingOrderServiceImpl extends ServiceImpl<SyShippingOrderMappe
         syShippingOrder.setDelFlag("0");
         syShippingOrder.setTheDocumentsState("0");
         syShippingOrder.setCreateTime(new Date());
+        //设置创建人
+        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        if(org.jeecg.modules.system.util.oConvertUtils.isEmpty(sysUser)){
+            syShippingOrder.setCreateBy("admin");
+        }else {
+            syShippingOrder.setCreateBy(sysUser.getRealname());
+        }
 
         //新增子表
         List<SyShippingOrderItem> list = syShippingOrder.getSyShippingOrderItemList();
@@ -145,13 +156,22 @@ public class SyShippingOrderServiceImpl extends ServiceImpl<SyShippingOrderMappe
 
                         syShippingOrderItem.setId(oConvertUtils.id());
                         syShippingOrderItem.setSyShippingOrderItemId(id);
+                        //设置创建人
+                        syShippingOrderItem.setCreateBy(sysUser.getRealname());
+                        //设置创建时间
+                        SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                        String createTime = sf.format(new Date());
+                        syShippingOrderItem.setCreateTime(sf.parse(createTime));
                         syShippingOrderItem.setDelFlag("0");
                         syShippingOrderItem.setStyleNumber(itemli.getItemNumber());
                         syShippingOrderItem.setNumber(itemli.getInventoryQuantity());//数量
+
                         if(oConvertUtils.isEmpty(itemli.getU8Id())){
                             syShippingOrderItem.setReadyFabric("面料");
+                            syShippingOrderItem.setBoxNumber(BigDecimal.ZERO);
                         }else{
                             syShippingOrderItem.setReadyFabric("辅料");
+                            syShippingOrderItem.setBoxNumber(itemli.getRolls());
                         }
                         syShippingOrderItem.setContainerCode(li.getContainerCode());//集装箱代号
                         syShippingOrderItem.setContainerNumber(li.getContainerNumber());//集装箱号
@@ -173,6 +193,7 @@ public class SyShippingOrderServiceImpl extends ServiceImpl<SyShippingOrderMappe
                         syShippingOrderItem.setElementsId(itemli.getElementsId());
                         syShippingOrderItem.setOrderNumber(itemli.getOrderNumber());
                         syShippingOrderItem.setClientAbbreviation(li.getClientAbbreviation());//客户简称
+                        syShippingOrderItem.setTotalPrice(itemli.getTotalPrice());//金额
 
                          itemList.add(syShippingOrderItem);
                     }
@@ -198,13 +219,20 @@ public class SyShippingOrderServiceImpl extends ServiceImpl<SyShippingOrderMappe
                     //转换数据
                     for(SyPackingListTailoringItem lit:itemslist){
                         SyShippingOrderItem syShippingOrderItem =  new SyShippingOrderItem();
+
+                        //设置创建人
+                        syShippingOrderItem.setCreateBy(sysUser.getRealname());
+                        //设置创建时间
+                        SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                        String createTime = sf.format(new Date());
+                        syShippingOrderItem.setCreateTime(sf.parse(createTime));
+
                         syShippingOrderItem.setNumber(lit.getPlanQuantity());//数量
                         syShippingOrderItem.setBoxNumber(lit.getBoxNumber());//箱数
                         syShippingOrderItem.setId(oConvertUtils.id());
                         syShippingOrderItem.setSyShippingOrderItemId(id);
                         syShippingOrderItem.setDelFlag("0");
                         syShippingOrderItem.setSmailPo(lit.getSmallPo());
-                        syShippingOrderItem.setBoxNumber(lit.getBoxNumber());
                         boxNumber.add(lit.getBoxNumber());
                         syShippingOrderItem.setGrossWeight(lit.getGrossWeight());
                         totalGrossWeight.add(lit.getGrossWeight());
@@ -222,6 +250,10 @@ public class SyShippingOrderServiceImpl extends ServiceImpl<SyShippingOrderMappe
                         syShippingOrderItem.setElementsId(lit.getElementsId());
                         syShippingOrderItem.setOrderNumber(lit.getOrderNumber());
                         syShippingOrderItem.setClientAbbreviation(li.getClientAbbreviation());//客户简称
+                        syShippingOrderItem.setStyleNumber(li.getStyleNumber());//款号
+                        syShippingOrderItem.setPurchaseOutsourcingOrderNo(lit.getSpurOrSubOrder());
+                        syShippingOrderItem.setTotalPrice(lit.getTotalPrice());//金额
+
                         itemList.add(syShippingOrderItem);
 
                     }
@@ -286,7 +318,7 @@ public class SyShippingOrderServiceImpl extends ServiceImpl<SyShippingOrderMappe
      * @return
      */
     @Override
-    public SyShippingOrder syShippingOrderEdit(SyShippingOrder syShippingOrder) {
+    public SyShippingOrder syShippingOrderEdit(SyShippingOrder syShippingOrder) throws ParseException {
 
         //删除美元信息
         syLetterDepositMapper.syUsdDelete(syShippingOrder.getId());
@@ -304,17 +336,19 @@ public class SyShippingOrderServiceImpl extends ServiceImpl<SyShippingOrderMappe
                 if(oConvertUtils.isEmpty(syPackingListFabric)){
                     throw new JeecgBootException("没有查询到装箱单面料数据!");
                 }
-                //回写预装箱-面料是否被参照
+                //回写预装箱-面料是否被参照,托书号
                 syPackingListFabric.setIsReference(0);
+                syPackingListFabric.setShippingOrderNumber(null);
                 syPackingListFabricService.updateById(syPackingListFabric);
 
             }else{//成衣
-                //回写预装箱-成衣是否被参照
+                //回写预装箱-成衣是否被参照,托书号
                 SyPackingListTailoring syPackingListTailoring = syPackingListTailoringService.getById(li.getTailoringFabricId());
                 if(oConvertUtils.isEmpty(syPackingListTailoring)){
                     throw new JeecgBootException("没有查询到装箱单成衣数据!");
                 }
                 syPackingListTailoring.setIsReference(0);
+                syPackingListTailoring.setShippingOrderNumber(null);
                 syPackingListTailoringService.updateById(syPackingListTailoring);
             }
             //删除子表