Explorar o código

装箱单面料查询

huxy %!s(int64=2) %!d(string=hai) anos
pai
achega
24332dfa0d

+ 51 - 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/controller/SyPreAssembledPackingListController.java

@@ -1,8 +1,10 @@
 package org.jeecg.modules.spapl.controller;
 
+import java.io.File;
 import java.io.IOException;
 import java.text.SimpleDateFormat;
 import java.util.*;
+import java.util.stream.Collectors;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -20,6 +22,9 @@ import org.jeecg.modules.spapl.vo.PackingHeaderVo;
 import org.jeecg.modules.spapl.vo.SyPreAssembledPackingListVo;
 import org.jeecg.modules.system.util.InterfaceConnUtils;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.def.TemplateExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
 import org.jeecgframework.poi.excel.entity.ImportParams;
 
 import org.jeecg.common.api.vo.Result;
@@ -30,8 +35,12 @@ import org.jeecg.modules.spapl.entity.SyPreAssembledPackingList;
 import org.jeecg.modules.spapl.vo.SyPreAssembledPackingListPage;
 import org.jeecg.modules.spapl.service.ISyPreAssembledPackingListService;
 import org.jeecg.modules.spapl.service.ISyPreAssembledPackingListItemService;
+import org.jeecgframework.poi.excel.entity.TemplateExportParams;
+import org.jeecgframework.poi.excel.entity.enmus.ExcelType;
+import org.jeecgframework.poi.excel.view.JeecgTemplateExcelView;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.ResourceUtils;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.servlet.ModelAndView;
 import org.springframework.web.multipart.MultipartFile;
@@ -543,11 +552,11 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
 				 result.setSuccess(false);
 				 return result;
 			 }
-/*			 if(syPreAssembledPackingList2.getPushStatus().equals("1")||syPreAssembledPackingList2.getIsReference()>1){
+			 if(syPreAssembledPackingList2.getPushStatus().equals("1")||syPreAssembledPackingList2.getIsReference()>1){
 				 result.setMessage("已推送云工厂或已被下游参照!");
 				 result.setSuccess(false);
 				 return result;
-			 }*/
+			 }
 			 syPreAssembledPackingList2.setStatus("0");//修改为取消提交状态
 			 boolean bool= syPreAssembledPackingListService.updateById(syPreAssembledPackingList2);//修改提交状态
 			 if(bool==true){
@@ -724,7 +733,46 @@ public class SyPreAssembledPackingListController extends JeecgController<SyPreAs
 			List<SyPreAssembledPackingListItem> syPreAssembledPackingListItemList = syPreAssembledPackingListItemService.selectByMainId(temp.getId());
 			temp.setSyPreAssembledPackingListItemList(syPreAssembledPackingListItemList);
 		}
-		return exportXlsSheet2(request,SyPreAssembledPackingList.class,syPreAssembledPackingListList,"预装箱单",1);
+		 // return exportXlsSheet2(request,SyPreAssembledPackingList.class,syPreAssembledPackingListList,"预装箱单",1);
+		  String load="/static/paking.xlsx";//文件名
+		  double total = syPreAssembledPackingListList.size();//总条数
+		  int count = (int)Math.ceil(total/1);//每条sheet分几条数据
+		  File filePath=new File(ResourceUtils.getURL("classpath:").getPath());//获取路径
+		  File file=new File(filePath,load);
+		  TemplateExportParams templateExcelConstants=new TemplateExportParams(file.getAbsolutePath());
+		  List<Map<String, Object>> listMap = new ArrayList<Map<String, Object>>();
+		  Map<String, Object> maps = new HashMap<String, Object>();
+		  for (int i = 1; i <=count ; i++) {
+			  List<SyPreAssembledPackingList> exportList = new ArrayList<SyPreAssembledPackingList>();
+			  //过滤选中数据
+			  String selections = request.getParameter("selections");
+			  if (oConvertUtils.isNotEmpty(selections)) {
+				  List<String> selectionList = Arrays.asList(selections.split(","));
+				  exportList = syPreAssembledPackingListList.stream().filter(item -> selectionList.contains(getId(item))).collect(Collectors.toList());
+			  }
+			  else {
+				  exportList.add(syPreAssembledPackingListList.get(i-1));
+			  }
+			  ExportParams exportParams=new ExportParams("预装箱单报表", "导出人:admin" , "预装箱单"+i,"/opt/upFiles");//sysUser.getRealname()
+			  System.out.println("ExcelType.XSSF为:\t"+ ExcelType.XSSF);
+			  exportParams.setType(ExcelType.XSSF);
+			  Map<String, Object> map = new HashMap<String, Object>();
+			  map.put("title",exportParams);//表格Title
+			  map.put(NormalExcelConstants.PARAMS,templateExcelConstants);//表格Title
+			  map.put(NormalExcelConstants.CLASS,Object.class);//表格对应实体
+			  map.put(NormalExcelConstants.MAP_LIST, exportList);//数据集合
+			  System.out.println("NormalExcelConstants.MAP_LIST的值为\n"+NormalExcelConstants.MAP_LIST);
+			  map.put("orderNumber","订单号");
+			  map.put("id","主键");
+			  map.put("styleNo","款号");
+			  listMap.add(map);
+		  }
+		  maps.put("test",listMap);
+		  ModelAndView mv = new ModelAndView(new JeecgTemplateExcelView());
+		  maps.put("orderNumber","订单号");
+		  mv.addObject(TemplateExcelConstants.PARAMS,templateExcelConstants);
+		  mv.addObject(TemplateExcelConstants.MAP_DATA, maps);
+		  return mv;
 	}
 
 	  /**

+ 7 - 4
jeecg-boot-module-system/src/main/java/org/jeecg/modules/spapl/service/impl/SyPreAssembledPackingListServiceImpl.java

@@ -271,8 +271,7 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
 		QueryWrapper queryWrapper=new QueryWrapper();
 		queryWrapper.eq("sy_pre_assembled_packing_list_id",id);
 		List<SyLetterDepositItem> syLetterDepositItem=syLetterDepositItemMapper.selectList(queryWrapper);
-		System.out.println("syLetterDepositItem的长度为"+syLetterDepositItem.size());
-		if(syLetterDepositItem.size()>0){
+		if(syLetterDepositItem.size()>0){//如果有关于该装箱单的数据就...
 			UpdateWrapper wrapper=new UpdateWrapper();
 			wrapper.eq("sy_pre_assembled_packing_list_id",id);//修改主表有关数据
 			wrapper.set("del_flag","1");//修改为已删除
@@ -282,7 +281,7 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
 			queryWrapper.eq("sy_letter_deposit_id",letId);
 			queryWrapper.eq("del_flag","0");
 			syLetterDepositItem =syLetterDepositItemMapper.selectList(queryWrapper);
-			if(syLetterDepositItem.size()==0){
+			if(syLetterDepositItem.size()==0){//如果该装箱单里的数据都被删除,就会将与托书中的数据删除
 				UpdateWrapper wrapper1=new UpdateWrapper();
 				wrapper1.eq("id",letId);//修改主表有关数据
 				wrapper1.set("del_flag","1");//修改为已删除
@@ -320,7 +319,7 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
 		for(SyPreAssembledPackingListItem item :list){
 			sizes=syPreAssembledPackingListItemMapper.querySize(item.getSyDeclarationElementsId(),item.getGroupId());//获取尺码信息
 			int row=0;
-			String planSize="";
+			String planSize="";//计划各尺码数量
 			for (SizeTable size : sizes){
 				planSize=planSize+size.getSize()+":"+size.getQuantity().intValue()+"+";
 				size.setNum(++row);
@@ -391,6 +390,10 @@ public class SyPreAssembledPackingListServiceImpl extends ServiceImpl<SyPreAssem
 		return "提交成功";
 	}
 
+	/**
+	 * 根据出运明细id,补上一部分缺失的数据
+	 * @return
+	 */
 	@Override
 	public String updateShipping() {
 		QueryWrapper queryWrapper=new QueryWrapper();

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

@@ -90,7 +90,7 @@ public class SyPackingListFabricController {
 			queryWrapper.eq("a.order_number",orderNumber);
 		}
 		if(oConvertUtils.isNotEmpty(containerNumber)){
-			queryWrapper.eq("a.containerNumber",orderNumber);
+			queryWrapper.eq("a.container_Number",orderNumber);
 		}
 		queryWrapper.eq("a.del_flag","0");
 		Page<SyPackingListFabric> page = new Page<SyPackingListFabric>(pageNo, pageSize);

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

@@ -19,6 +19,9 @@ import org.jeecg.common.system.vo.LoginUser;
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.util.RedisUtil;
 import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.documents.letterDeposit.entity.SyLetterDepositItem;
+import org.jeecg.modules.documents.syShippingOrder.entity.SyShippingOrderItem;
+import org.jeecg.modules.spapl.entity.SyPreAssembledPackingListItem;
 import org.jeecg.modules.spapl.service.ISyPreAssembledPackingListService;
 import org.jeecg.modules.spapl.vo.SyPreAssembledPackingListVo;
 import org.jeecg.modules.splt.vo.SyPackingListTailoringVo;
@@ -67,7 +70,7 @@ public class SyPackingListTailoringController {
 	@Autowired
 	private ISyPackingListTailoringItemService syPackingListTailoringItemService;
 	@Autowired
-	private RedisUtil redisUtil;
+	private RedisUtil redisUtil;//redisUtill
 	/**
 	 * 分页列表查询
 	 *
@@ -496,4 +499,16 @@ public class SyPackingListTailoringController {
 		 return Result.ok(sysUser);
 	 }
 
+	 /**
+	  * 类型转化
+	  *
+	  * @param syPackingListTailoringItem
+	  * @return
+	  */
+	 @AutoLog(value = "类型转化")
+	 @ApiOperation(value="类型转化", notes="类型转化")
+	 @RequestMapping(value = "/typeConversion", method = {RequestMethod.POST})
+	 public SyShippingOrderItem typeConversion(@RequestBody SyPackingListTailoringItem syPackingListTailoringItem) {
+		 return syPackingListTailoringService.typeConversion(syPackingListTailoringItem);
+	 }
 }

+ 1 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splt/entity/SyPackingListTailoringItem.java

@@ -230,6 +230,7 @@ public class SyPackingListTailoringItem implements Serializable {
 	private java.math.BigDecimal factoryUnitPrice;
 
 
+
 	/**是否新增*/
 	@TableField(exist = false)
 	@ApiModelProperty(value = "是否新增")

+ 3 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/splt/service/ISyPackingListTailoringService.java

@@ -3,6 +3,7 @@ package org.jeecg.modules.splt.service;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.documents.syShippingOrder.entity.SyShippingOrderItem;
 import org.jeecg.modules.splt.entity.SyPackingListTailoringItem;
 import org.jeecg.modules.splt.entity.SyPackingListTailoring;
 import com.baomidou.mybatisplus.extension.service.IService;
@@ -68,4 +69,6 @@ public interface ISyPackingListTailoringService extends IService<SyPackingListTa
 	 */
 	public IPage<SyPackingListTailoringVo> selectList(IPage<SyPackingListTailoringVo> page,QueryWrapper<SyPackingListTailoringVo> queryWrapper);
 
+	//类型转换
+	public SyShippingOrderItem typeConversion(SyPackingListTailoringItem syPackingListTailoringItem);
 }

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

@@ -1,18 +1,23 @@
 package org.jeecg.modules.splt.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.documents.syShippingOrder.entity.SyShippingOrderItem;
+import org.jeecg.modules.documents.syShippingOrder.service.ISyShippingOrderService;
 import org.jeecg.modules.spapl.entity.SizeTable;
 import org.jeecg.modules.spapl.entity.SyPreAssembledPackingList;
 import org.jeecg.modules.spapl.entity.SyPreAssembledPackingListItem;
 import org.jeecg.modules.spapl.mapper.SyPreAssembledPackingListItemMapper;
+import org.jeecg.modules.spapl.mapper.SyPreAssembledPackingListMapper;
 import org.jeecg.modules.splt.entity.SyPackingListTailoring;
 import org.jeecg.modules.splt.entity.SyPackingListTailoringItem;
 import org.jeecg.modules.splt.mapper.SyPackingListTailoringItemMapper;
 import org.jeecg.modules.splt.mapper.SyPackingListTailoringMapper;
 import org.jeecg.modules.splt.service.ISyPackingListTailoringService;
 import org.jeecg.modules.splt.vo.SyPackingListTailoringVo;
+import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -20,6 +25,7 @@ import org.springframework.transaction.annotation.Transactional;
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
+import java.util.Date;
 import java.util.List;
 import java.util.Collection;
 
@@ -37,7 +43,11 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 	@Autowired
 	private SyPackingListTailoringItemMapper syPackingListTailoringItemMapper;
 	@Autowired
-	private SyPreAssembledPackingListItemMapper syPreAssembledPackingListItemMapper;
+	private SyPreAssembledPackingListItemMapper syPreAssembledPackingListItemMapper;//预装箱单子表
+	@Autowired
+	private SyPreAssembledPackingListMapper syPreAssembledPackingListMapper;//预装箱单主表
+	@Autowired
+	private ISyShippingOrderService iSyShippingOrderService;//托书主表
 
 
 	BigDecimal add(List<SyPackingListTailoringItem> items,String pid){
@@ -137,6 +147,10 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 		syPackingListTailoring.setStatus("0");//单据装态默认为0
 		syPackingListTailoring.setOrderNumber(randomStr());//订单号
 		syPackingListTailoringMapper.insert(syPackingListTailoring);//往主表添加数据
+		UpdateWrapper updateWrapper=new UpdateWrapper();
+		updateWrapper.set("is_Reference","2");//已被预装箱单参照,装箱单不能取消提交
+		updateWrapper.eq("id",syPackingListTailoring.getSyPreAssembledPackingListId());//预装箱单主表id做为修改条件
+		syPreAssembledPackingListMapper.update(null,updateWrapper);//修改
 		if(syPackingListTailoring.getSyPackingListTailoringItemList()!=null){
 			BigDecimal box=add(syPackingListTailoring.getSyPackingListTailoringItemList(),syPackingListTailoring.getId());
 			syPackingListTailoring.setTotalBoxes(box);
@@ -243,6 +257,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 		return syPackingListTailoringMapper.selectList(page,queryWrapper);
 	}
 
+	//简单的排序
 	public List<SizeTable> sort(List<SizeTable> sizes) {
 		int i=0;
 		for(SizeTable size : sizes){
@@ -250,4 +265,28 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
 		}
 		return sizes;
 	}
+
+	//将装箱单修改的数据覆盖给托书
+	public SyShippingOrderItem typeConversion(SyPackingListTailoringItem item){
+		SyShippingOrderItem syShippingOrderItem=new SyShippingOrderItem();
+		syShippingOrderItem.setBoxNumber(item.getBoxNumber());//箱数
+		syShippingOrderItem.setVolume(item.getTotalVolume());//体积
+		syShippingOrderItem.setNumber(item.getTotal());//数量
+		syShippingOrderItem.setGrossWeight(item.getGrossWeight());//毛重
+		syShippingOrderItem.setNetWeight(item.getNetWeight());//净重
+		syShippingOrderItem.setSmailPo(item.getSmallPo());//小PO号
+		syShippingOrderItem.setStyleNumber(item.getStyleNo());//款号
+		syShippingOrderItem.setTheDistribution(item.getDistributionPoint());//分销点
+		syShippingOrderItem.setUnitPrice(item.getUnitPrice());//单价
+		syShippingOrderItem.setTailoringFabricItemId(item.getId());//子表id
+		syShippingOrderItem.setTailoringFabricId(item.getSyPackingListTailoringId());//主表id
+		//syShippingOrderItem.getPreShipmentDate(item.getHod());
+		//syShippingOrderItem.setEnglishName();//英文名称
+		//syShippingOrderItem.setSalesman(item.getSize());//业务员
+		//syShippingOrderItem.setOperatingDepartment();//业务部门
+		//syShippingOrderItem.setPurchaseOutsourcingOrderNo();//采购/委外订单号
+		//syShippingOrderItem.setOutsourcingFactoryForProcurement();//采购/委外工厂
+		//BeanUtils.copyProperties(syPackingListTailoringItem, syShippingOrderItem);
+		return syShippingOrderItem;
+	}
 }

BIN=BIN
jeecg-boot-module-system/src/main/resources/static/预装箱单-成衣.xlsx → jeecg-boot-module-system/src/main/resources/static/paking.xlsx


BIN=BIN
jeecg-boot-module-system/target/classes/static/预装箱单-成衣.xlsx