Procházet zdrojové kódy

装箱单面料-参照发运明细、新增、编辑功能

huxy před 2 roky
rodič
revize
d8a9b20588

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

@@ -29,6 +29,7 @@ import org.jeecg.modules.splfi.service.ISyPackingListFabricService;
 import org.jeecg.modules.splfi.service.ISyPackingListFabricItemService;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.servlet.ModelAndView;
 import org.springframework.web.multipart.MultipartFile;
@@ -118,14 +119,14 @@ public class SyPackingListFabricController {
 	 @AutoLog(value = "提供发运明细id获取数据")
 	 @ApiOperation(value="提供发运明细id获取数据", notes="提供发运明细id获取数据")
 	 @GetMapping(value = "/getShippingDetailId")
-	 public Result<SyPackingListFabric>  getSyShippingDetailsData(String id){
-		Result<SyPackingListFabric> result=new Result<>();
-		if(oConvertUtils.isEmpty(id)){
+	 public Result<SyPackingListFabric>  getSyShippingDetailsData(String[] ids){
+		 Result<SyPackingListFabric> result=new Result<>();
+		if(oConvertUtils.isEmpty(ids)){
 			result.setMessage("id不能为空");
 			result.setSuccess(false);
 			return result;
 		}
-		result.setResult(syPackingListFabricService.getSyShippingDetailsData(id));
+		result.setResult(syPackingListFabricService.getSyShippingDetailsData(ids));
 		result.setSuccess(true);
 		result.setMessage("成功");
 		return result;
@@ -148,7 +149,7 @@ public class SyPackingListFabricController {
 			result.setResult(null);
 			return result;
 		}
-		syPackingListFabricService.saveMain(syPackingListFabric, syPackingListFabric.getSyPackingListFabricItem());
+		syPackingListFabricService.saveMain(syPackingListFabric);
 		result.setSuccess(true);
 		result.setMessage("添加成功");
 		result.setResult(syPackingListFabric);
@@ -192,7 +193,7 @@ public class SyPackingListFabricController {
 	    syPackingListFabricService.delMain(id);
 		return Result.OK("删除成功!");
 	}
-	
+
 	/**
 	 * 批量删除
 	 *
@@ -230,19 +231,20 @@ public class SyPackingListFabricController {
 		return result;
 	}
 	
-	/**
+/*	*//**
 	 * 通过id查询
      *
 	 * @param id
 	 * @return
-	 */
+	 *//*
 	@AutoLog(value = "装箱单面料-通过主表ID查询")
 	@ApiOperation(value="装箱单面料-通过主表ID查询", notes="装箱单面料-通过主表ID查询")
 	@GetMapping(value = "/querySyPackingListFabricItemByMainId")
 	public Result<?> querySyPackingListFabricItemListByMainId(@RequestParam(name="id",required=true) String id) {
 		List<SyPackingListFabricItem> syPackingListFabricItemList = syPackingListFabricItemService.selectByMainId(id);
 		return Result.OK(syPackingListFabricItemList);
-	}
+	}*/
+
 
   /**
    * 导出excel
@@ -297,7 +299,7 @@ public class SyPackingListFabricController {
               for (SyPackingListFabricPage page : list) {
                   SyPackingListFabric po = new SyPackingListFabric();
                   BeanUtils.copyProperties(page, po);
-                  syPackingListFabricService.saveMain(po, page.getSyPackingListFabricItemList());
+                  syPackingListFabricService.saveMain(po);
               }
               return Result.OK("文件导入成功!数据行数:" + list.size());
           } catch (Exception e) {

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

@@ -95,6 +95,9 @@ public class SyPackingListFabric implements Serializable {
 	/**预托书号*/
 	@ApiModelProperty(value = "预托书号")
 	private String depositaryReceiptNo;
+	/**单据状态*/
+	@ApiModelProperty(value = "单据状态")
+	private String status;
 	/**备注*/
 	@ApiModelProperty(value = "备注")
 	private Object remarks;

+ 8 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/entity/SyPackingListFabricItem.java

@@ -2,6 +2,7 @@ package org.jeecg.modules.splfi.entity;
 
 import java.io.Serializable;
 import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
@@ -34,11 +35,11 @@ public class SyPackingListFabricItem implements Serializable {
 	/**发运明细主表id*/
 	// @Excel(name = "发运明细主表id", width = 15)
 	@ApiModelProperty(value = "发运明细主表id")
-	private String syDeclarationElementsId;
+	private String syShippingDetailsId;
 	/**发运明细子表id*/
 	//@Excel(name = "发运明细子表id", width = 15)
 	@ApiModelProperty(value = "发运明细子表id")
-	private String syDeclarationElementsItemId;
+	private String syShippingDetailsItemId;
 	/**业务员*/
     @Excel(name = "业务员", width = 15)
 	@ApiModelProperty(value = "业务员")
@@ -219,4 +220,9 @@ public class SyPackingListFabricItem implements Serializable {
     @Excel(name = "排序", width = 15)
 	@ApiModelProperty(value = "排序")
 	private Integer sort;
+	/**是否新增*/
+	@Excel(name = "是否新增", width = 15)
+	@ApiModelProperty(value = "是否新增")
+	@TableField(exist = false)
+	private int isAdd;
 }

+ 4 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/mapper/SyPackingListFabricItemMapper.java

@@ -2,6 +2,7 @@ package org.jeecg.modules.splfi.mapper;
 
 import java.util.List;
 
+import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.splfi.entity.SyPackingListFabric;
 import org.jeecg.modules.splfi.entity.SyPackingListFabricItem;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -22,4 +23,7 @@ public interface SyPackingListFabricItemMapper extends BaseMapper<SyPackingListF
 
 	//根据id获取发运明细数据
 	public List<SyPackingListFabricItem> getSyShippingDetailsData(String id);
+
+	//根据id获取发运明细数据
+	public List<SyPackingListFabricItem> getSyShippingDetailsDatas(@Param("ids") String[] ids);
 }

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/mapper/SyPackingListFabricMapper.java

@@ -20,7 +20,7 @@ public interface SyPackingListFabricMapper extends BaseMapper<SyPackingListFabri
     public IPage<SyShippingDetailsVo> queryShippingDetails(IPage<SyShippingDetailsVo> page, @Param("ew") QueryWrapper<SyShippingDetailsVo> queryWrapper);
 
     //根据id获取发运明细数据
-    public SyPackingListFabric getSyShippingDetailsData(String id);
+    public List<SyPackingListFabric> getSyShippingDetailsData(@Param("ids") String[] ids);
 
     //将该单据修改成删除状态
     public int deleteByMainId(String id);

+ 37 - 35
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/mapper/xml/SyPackingListFabricItemMapper.xml

@@ -46,43 +46,45 @@
 		where a.id=#{value}
 	</select>
 
+	<select id="getSyShippingDetailsDatas" resultType="org.jeecg.modules.splfi.entity.SyPackingListFabricItem">
+		SELECT
+			a.id as syDeclarationElementsId,
+			b.id as syDeclarationElementsItemId,
+			IF(INSTR(c.OMPO_id,'-')>0,LEFT(c.OMPO_id,INSTR(c.OMPO_id,'-')-1),c.OMPO_id) PlanLotNumber,
+			a.declaration_Name,/*报关品名*/
+			c.master_Metering,/*主计量*/
+			b.salesman,/*业务员*/
+			b.item_Number,/*款号*/
+			b.colour,/*颜色*/
+			b.inventory_Code,/*物料编码*/
+			b.inventory_Name,/*物料名称*/
+			b.material_Composition AS Composition,/*成分/Composition*/
+			b.guangpei_Gate_Width AS Width,/*门幅/Width*/
+			b.sales_Unit_Price AS price,/*价格*/
+			b.treatment_Method,/*处理方式*/
+			b.manual_Yarn_Flag,/*是否手册纱*/
+			b.manual_Yarn_Unit_Price,/*手册纱单价*/
+			b.manual_Yarn_Proportion,/*手册纱占比*/
+			b.shipment_Quantity AS inventoryQuantity,/*入库数量*/
+			b.specification_And_Model,/*规格型号*/
+			b.excess_Quantity	/*excessQuantity*/
+		FROM
+		sy_shipping_details a
+		LEFT JOIN `sy_shipping_details_item` b
+		ON a.id=b.shipping_details_id
+		AND b.del_flag=0
+		LEFT JOIN sy_order_data_item c
+		ON b.sy_order_data_item_id=c.id
+		AND c.del_flag=0
+		where a.id in
+		<foreach collection="ids" item="value" index="index" open="(" separator="," close=")">
+			#{value}
+		</foreach>
+	</select>
+
 	<select id="selectByMainId2" parameterType="java.lang.String" resultType="org.jeecg.modules.splfi.entity.SyPackingListFabricItem">
 		SELECT
-			id,
-			sy_packing_list_fabric_id,
-			salesman,
-			plan_lot_number,
-			item_number,
-			dyelot_number,
-			colour,
-			inventory_code,
-			inventory_name,
-			declaration_name,
-			composition,
-			SUM(width) as width,
-			rolls,
-			gross_weight,
-			net_weight,
-			after_heavy,
-			kao_cloth_weight,
-			meter,
-			price,
-			gram_weight,
-			supplier_code_dyeing_plant,
-			supplier_dyeing_plant,
-			supplier_code_printing_plant,
-			supplier_printing_plant,
-			manner_of_packing,
-			treatment_method,
-			manual_yarn_flag,
-			manual_yarn_unit_price,
-			manual_yarn_proportion,
-			container_number,
-			inventory_quantity,
-			specification_and_model,
-			actual_declared_quantity,
-			excess_quantity,
-			master_metering
+			*
 		FROM `sy_packing_list_fabric_item`
 		where del_flag=0 and
 		sy_packing_list_fabric_id=#{value}

+ 6 - 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/mapper/xml/SyPackingListFabricMapper.xml

@@ -68,7 +68,7 @@
     ${ew.customSqlSegment}
     </select>
 
-    <select id="getSyShippingDetailsData" parameterType="java.lang.String" resultType="org.jeecg.modules.splfi.entity.SyPackingListFabric">
+    <select id="getSyShippingDetailsData"  resultType="org.jeecg.modules.splfi.entity.SyPackingListFabric">
         SELECT
             sy_shipping_details.id AS syDeclarationElementsId,
             sy_shipping_details_item.garment_Factory,
@@ -76,8 +76,11 @@
         FROM sy_shipping_details
         LEFT JOIN sy_shipping_details_item
         ON sy_shipping_details.id=sy_shipping_details_item.shipping_details_id
-        where sy_shipping_details.id=#{value}
-        LIMIT 1
+        where sy_shipping_details.id in
+        <foreach collection="ids" item="value" index="index" open="(" separator="," close=")">
+            #{value}
+        </foreach>
+        GROUP BY sy_shipping_details.id
     </select>
 
     <update id="deleteByMainId"  parameterType="java.lang.String">

+ 5 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splfi/service/ISyPackingListFabricService.java

@@ -22,7 +22,7 @@ public interface ISyPackingListFabricService extends IService<SyPackingListFabri
 	 * 添加一对多
 	 * 
 	 */
-	public SyPackingListFabric saveMain(SyPackingListFabric syPackingListFabric, List<SyPackingListFabricItem> syPackingListFabricItemList) ;
+	public SyPackingListFabric saveMain(SyPackingListFabric syPackingListFabric) ;
 	
 	/**
 	 * 修改一对多
@@ -47,7 +47,10 @@ public interface ISyPackingListFabricService extends IService<SyPackingListFabri
 
 
 	//根据id获取发运明细数据
-	public SyPackingListFabric getSyShippingDetailsData(String id);
+	public List<SyPackingListFabric> getSyShippingDetailsDatas(String[] ids);
+
+	//根据id获取发运明细数据
+	public SyPackingListFabric getSyShippingDetailsData(String[] ids);
 
 	//根据id获取主表子表汇总数据
 	public SyPackingListFabric selectById(String id);

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

@@ -8,13 +8,17 @@ import org.jeecg.modules.splfi.entity.SyPackingListFabricItem;
 import org.jeecg.modules.splfi.mapper.SyPackingListFabricItemMapper;
 import org.jeecg.modules.splfi.mapper.SyPackingListFabricMapper;
 import org.jeecg.modules.splfi.service.ISyPackingListFabricService;
+import org.jeecg.modules.system.util.oConvertUtils;
+import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 import java.io.Serializable;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Collection;
+import java.util.Map;
 
 /**
  * @Description: 面料装箱单
@@ -32,11 +36,22 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 	
 	@Override
 	@Transactional
-	public SyPackingListFabric saveMain(SyPackingListFabric syPackingListFabric, List<SyPackingListFabricItem> syPackingListFabricItemList) {
+	public SyPackingListFabric saveMain(SyPackingListFabric syPackingListFabric) {
+		syPackingListFabric.setDelFlag("0");
+		syPackingListFabric.setStatus("0");
+		syPackingListFabric.setDocumentNo(oConvertUtils.getId());//单据号
 		syPackingListFabricMapper.insert(syPackingListFabric);
-		for(SyPackingListFabricItem entity:syPackingListFabricItemList) {
-			//外键设置	
+		Map<String,String> mapId=new HashMap<String, String>();//key为梵语明细子表id,value为分组id
+		for(SyPackingListFabricItem entity:syPackingListFabric.getSyPackingListFabricItem()) {
+			String key=entity.getSyShippingDetailsId();//获取发运明细子表id
+			if(!mapId.containsKey(key)){//如果这个id没有分组id,就生成一个新的分组id
+				mapId.put(key,oConvertUtils.getId());
+				mapId.put(key,oConvertUtils.getId());
+			}
+			entity.setGroupId(mapId.get(key));//分组id
+			//外键设置
 			entity.setSyPackingListFabricId(syPackingListFabric.getId());
+			entity.setDelFlag("0");
 			syPackingListFabricItemMapper.insert(entity);
 		}
 		return syPackingListFabric;
@@ -54,7 +69,12 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 		for(SyPackingListFabricItem entity:syPackingListFabricItemList) {
 			//外键设置
 			entity.setSyPackingListFabricId(syPackingListFabric.getId());
-			syPackingListFabricItemMapper.insert(entity);
+			if(entity.getIsAdd()>0){//大于1就是新增数据
+				entity.setId(null);
+				syPackingListFabricItemMapper.insert(entity);
+			}else{
+				syPackingListFabricItemMapper.updateById(entity);
+			}
 		}
 		return syPackingListFabric;
 	}
@@ -81,10 +101,22 @@ public class SyPackingListFabricServiceImpl extends ServiceImpl<SyPackingListFab
 	}
 
 	@Override
-	public SyPackingListFabric getSyShippingDetailsData(String id) {
+	public  List<SyPackingListFabric> getSyShippingDetailsDatas(String[] ids) {
+		List<SyPackingListFabric> syPackingListFabricList=syPackingListFabricMapper.getSyShippingDetailsData(ids);
+		int row=0;
+		for (SyPackingListFabric syPackingListFabric : syPackingListFabricList){
+			syPackingListFabric.setSyPackingListFabricItem(syPackingListFabricItemMapper.getSyShippingDetailsData(ids[row]));
+			row++;
+		}
+		return syPackingListFabricList;
+	}
+
+
+	//可能会获取多条数据头表数据,头表不知选那条数据
+	@Override
+	public  SyPackingListFabric getSyShippingDetailsData(String[] ids) {
 		SyPackingListFabric syPackingListFabric=new SyPackingListFabric();
-		syPackingListFabric=syPackingListFabricMapper.getSyShippingDetailsData(id);
-		syPackingListFabric.setSyPackingListFabricItem(syPackingListFabricItemMapper.getSyShippingDetailsData(id));
+		syPackingListFabric.setSyPackingListFabricItem(syPackingListFabricItemMapper.getSyShippingDetailsDatas(ids));
 		return syPackingListFabric;
 	}