zengtx 2 years ago
parent
commit
df71ebe6b0
14 changed files with 1444 additions and 2 deletions
  1. 328 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/syShippingOrder/controller/SyShippingOrderController.java
  2. 152 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/syShippingOrder/controller/SyShippingOrderItemController.java
  3. 235 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/syShippingOrder/entity/SyShippingOrder.java
  4. 157 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/syShippingOrder/entity/SyShippingOrderItem.java
  5. 68 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/syShippingOrder/entity/VO/SyPackingList.java
  6. 14 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/syShippingOrder/mapper/SyShippingOrderItemMapper.java
  7. 32 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/syShippingOrder/mapper/SyShippingOrderMapper.java
  8. 5 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/syShippingOrder/mapper/xml/SyShippingOrderItemMapper.xml
  9. 57 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/syShippingOrder/mapper/xml/SyShippingOrderMapper.xml
  10. 14 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/syShippingOrder/service/ISyShippingOrderItemService.java
  11. 38 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/syShippingOrder/service/ISyShippingOrderService.java
  12. 19 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/syShippingOrder/service/impl/SyShippingOrderItemServiceImpl.java
  13. 323 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/syShippingOrder/service/impl/SyShippingOrderServiceImpl.java
  14. 2 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/openApi/service/impl/PurchaseWarehousingServiceImpl.java

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

@@ -0,0 +1,328 @@
+package org.jeecg.modules.documents.syShippingOrder.controller;
+
+import java.util.*;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.documents.letterDeposit.entity.SyRmb;
+import org.jeecg.modules.documents.letterDeposit.entity.SyUsd;
+import org.jeecg.modules.documents.shippingDetails.entity.SyShippingDetails;
+import org.jeecg.modules.documents.syShippingOrder.entity.SyShippingOrder;
+import org.jeecg.modules.documents.syShippingOrder.entity.SyShippingOrderItem;
+import org.jeecg.modules.documents.syShippingOrder.entity.VO.SyPackingList;
+import org.jeecg.modules.documents.syShippingOrder.service.ISyShippingOrderService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecg.modules.spapl.entity.SizeTable;
+import org.jeecg.modules.splt.mapper.SyPackingListTailoringItemMapper;
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+import com.alibaba.fastjson.JSON;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+ /**
+ * @Description: 托书主表实体类
+ * @Author: jeecg-boot
+ * @Date:   2022-07-21
+ * @Version: V1.0
+ */
+@Slf4j
+@Api(tags="托书主表实体类")
+@RestController
+@RequestMapping("/syShippingOrder/syShippingOrder")
+public class SyShippingOrderController extends JeecgController<SyShippingOrder, ISyShippingOrderService> {
+	@Autowired
+	private ISyShippingOrderService syShippingOrderService;
+	@Autowired
+	private SyPackingListTailoringItemMapper syPackingListTailoringItemMapper;
+	
+	/**
+	 * 分页列表查询
+	 *
+	 * @param syShippingOrder
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	@AutoLog(value = "托书主表实体类-分页列表查询")
+	@ApiOperation(value="托书主表实体类-分页列表查询", notes="托书主表实体类-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<IPage<SyShippingOrder>> queryPageList(SyShippingOrder syShippingOrder,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+
+		Result<IPage<SyShippingOrder>> result = new Result<IPage<SyShippingOrder>>();
+
+		QueryWrapper<SyShippingOrder> queryWrapper = QueryGenerator.initQueryWrapper(syShippingOrder, req.getParameterMap());
+		Page<SyShippingOrder> page = new Page<SyShippingOrder>(pageNo, pageSize);
+		IPage<SyShippingOrder> pageList = syShippingOrderService.syShippingOrderPageList(page, queryWrapper);
+
+		result.setSuccess(true);
+		result.setMessage("查询成功!");
+		result.setResult(pageList);
+
+		return result;
+	}
+	
+	/**
+	 * 添加
+	 *
+	 * @param syShippingOrder
+	 * @return
+	 */
+	@AutoLog(value = "托书主表实体类-添加")
+	@ApiOperation(value="托书主表实体类-添加", notes="托书主表实体类-添加")
+	@PostMapping(value = "/add")
+	public Result<SyShippingOrder> add(@RequestBody SyShippingOrder syShippingOrder) {
+
+		Result<SyShippingOrder> result = new Result<>();
+
+		if(oConvertUtils.isEmpty(syShippingOrder)){
+			result.setSuccess(false);
+			result.setMessage("未找到对象");
+			return result;
+		}
+
+		//判断子表集合是否有数据
+		List<SyShippingOrderItem> itemList = syShippingOrder.getSyShippingOrderItemList();
+		if(itemList.size()==0){
+			result.setSuccess(false);
+			result.setMessage("表体数据不能为空!");
+			return result;
+		}
+		//判断托书号是否唯一
+		String documentNo = syShippingOrder.getShippingOrderNumber();
+		QueryWrapper<SyShippingOrder> queryWrapper = new QueryWrapper<>();
+		queryWrapper.eq("shipping_order_number",documentNo).eq("del_flag",0);
+		List<SyShippingOrder> list = syShippingOrderService.list(queryWrapper);
+		if(list.size()>0){
+			result.setSuccess(false);
+			result.setMessage("托书号已存在,请重新维护!");
+			return result;
+		}
+
+		syShippingOrderService.syShippingOrderAdd(syShippingOrder);
+
+		return Result.OK("添加成功!");
+	}
+	
+	/**
+	 * 编辑
+	 *
+	 * @param syShippingOrder
+	 * @return
+	 */
+	@AutoLog(value = "托书主表实体类-编辑")
+	@ApiOperation(value="托书主表实体类-编辑", notes="托书主表实体类-编辑")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public Result<SyShippingOrder> edit(@RequestBody SyShippingOrder syShippingOrder) {
+
+		Result<SyShippingOrder> result = new Result<SyShippingOrder>();
+		if(oConvertUtils.isEmpty(syShippingOrder)){
+			result.setSuccess(false);
+			result.setMessage("未找到对象");
+			return result;
+		}
+		//判断子表集合是否有数据
+		List<SyShippingOrderItem> itemList = syShippingOrder.getSyShippingOrderItemList();
+		if(itemList.size()==0){
+			result.setSuccess(false);
+			result.setMessage("表体数据不能为空!");
+			return result;
+		}
+
+		//判断是否已提交
+		SyShippingOrder pojo = syShippingOrderService.getById(syShippingOrder.getId());
+		if(pojo.getTheDocumentsState().equals("1")){
+			result.setSuccess(false);
+			result.setMessage("单据已提交,不允许修改!");
+			return result;
+		}
+
+		syShippingOrderService.syShippingOrderEdit(syShippingOrder);
+
+		return Result.OK("编辑成功!");
+	}
+	
+	/**
+	 * 通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "托书主表实体类-通过id删除")
+	@ApiOperation(value="托书主表实体类-通过id删除", notes="托书主表实体类-通过id删除")
+	@DeleteMapping(value = "/delete")
+	public Result<Integer> delete(@RequestParam(name="id",required=true) String id) {
+		syShippingOrderService.syShippingOrderItemDelete(id);
+		return Result.OK("删除成功!");
+	}
+	
+	/**
+	 * 批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "托书主表实体类-批量删除")
+	@ApiOperation(value="托书主表实体类-批量删除", notes="托书主表实体类-批量删除")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.syShippingOrderService.removeByIds(Arrays.asList(ids.split(",")));
+		return Result.OK("批量删除成功!");
+	}
+	
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "托书主表实体类-通过id查询")
+	@ApiOperation(value="托书主表实体类-通过id查询", notes="托书主表实体类-通过id查询")
+	@GetMapping(value = "/queryById")
+	public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
+		SyShippingOrder syShippingOrder = syShippingOrderService.getById(id);
+		return Result.OK(syShippingOrder);
+	}
+
+  /**
+   * 导出excel
+   *
+   * @param request
+   * @param syShippingOrder
+   */
+  @RequestMapping(value = "/exportXls")
+  public ModelAndView exportXls(HttpServletRequest request, SyShippingOrder syShippingOrder) {
+      return super.exportXls(request, syShippingOrder, SyShippingOrder.class, "托书主表实体类");
+  }
+
+  /**
+   * 通过excel导入数据
+   *
+   * @param request
+   * @param response
+   * @return
+   */
+  @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+  public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+      return super.importExcel(request, response, SyShippingOrder.class);
+  }
+
+
+	 /**
+	  * 查询装箱单-成衣-面料
+	  * @param syPackingList
+	  * @param pageNo
+	  * @param pageSize
+	  * @param request
+	  * @param response
+	  * @return
+	  */
+	 @AutoLog(value = "查询装箱单-成衣")
+	 @ApiOperation(value="查询装箱单-成衣", notes="查询装箱单-成衣")
+	 @GetMapping(value = "/queryTailoring")
+  public Result<IPage<SyPackingList>> queryTailoring(SyPackingList syPackingList,String tailoringOrFabric,
+													 @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+													 @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+													 HttpServletRequest request, HttpServletResponse response){
+
+	  Result<IPage<SyPackingList>> result = new Result<IPage<SyPackingList>>();
+
+	  IPage<SyPackingList> pageList = new Page<>();
+		 Page<SyPackingList> page = new Page<SyPackingList>();
+
+	  QueryWrapper<SyPackingList> queryWrapper = QueryGenerator.initQueryWrapper(syPackingList, request.getParameterMap());
+	  if(tailoringOrFabric.equals("0")){ //查成衣
+		  queryWrapper.eq("a.del_flag",0).eq("b.del_flag",0).eq("a.the_documents_state",1);
+		  queryWrapper.groupBy("a.document_No");
+		  pageList = syShippingOrderService.queryTailoring(page,queryWrapper);
+
+	  }else{//查面料
+		  queryWrapper.eq("a.del_flag",0).eq("b.del_flag",0).eq("a.status",1);
+		  queryWrapper.groupBy("a.document_No");
+		  pageList = syShippingOrderService.queryFabric(page,queryWrapper);
+
+	  }
+	  result.setSuccess(true);
+	  result.setMessage("查询成功!");
+	  result.setResult(pageList);
+	  return  result;
+  }
+
+	 /**
+	  * 提交
+	  * @param syShippingOrder
+	  * @return
+	  */
+	 @AutoLog(value = "发运明细提交,(提交:type=1,取消提交:type = 0)")
+	 @ApiOperation(value = "发运明细提交,(提交:type=1,取消提交:type = 0)", notes="发运明细提交,(提交:type=1,取消提交:type = 0)")
+	 @PostMapping(value = "/syShippingDetailsSubmit")
+	 public Result<SyShippingOrder> syShippingDetailsSubmit(@RequestBody SyShippingOrder syShippingOrder) {
+
+		 Result<SyShippingOrder> result = new Result<>();
+
+		 try {
+
+			 if(org.jeecg.modules.system.util.oConvertUtils.isEmpty(syShippingOrder.getId())){
+				 result.setMessage("未拿到ID");
+				 result.setSuccess(false);
+				 return  result;
+			 }
+			 //判断是否有该数据
+			 SyShippingOrder entity = syShippingOrderService.getById(syShippingOrder.getId());
+			 if(org.jeecg.modules.system.util.oConvertUtils.isEmpty(entity)){
+				 result.setMessage("未找到该数据!");
+				 result.setSuccess(false);
+				 return  result;
+			 }
+			 //判断是否已提交
+//		  if(shippingDetails.getState().equals("1") && syShippingDetails.getType().equals("1")){
+//			  result.setMessage("该单据已提交,不允许再次提交!");
+//			  result.setSuccess(false);
+//			  return  result;
+//		  }
+			 int i = syShippingOrderService.syShippingOrderSubmit(syShippingOrder.getId(),syShippingOrder.getType());
+			 if(i>0){
+				 if(syShippingOrder.getType().equals("1")){
+					 result.setSuccess(true);
+					 result.setMessage("提交成功");
+					 result.setResult(syShippingOrder);
+				 }else{
+					 result.setSuccess(true);
+					 result.setMessage("取消提交成功");
+					 result.setResult(syShippingOrder);
+				 }
+			 }
+
+		 }catch (Exception ex){
+			 ex.printStackTrace();
+			 log.error("提交失败:" + ex.getMessage());
+			 result.error500("提交失败:" + ex.getMessage());
+		 }
+
+		 return  result;
+	 }
+
+}

+ 152 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/syShippingOrder/controller/SyShippingOrderItemController.java

@@ -0,0 +1,152 @@
+package org.jeecg.modules.documents.syShippingOrder.controller;
+
+import java.util.Arrays;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.modules.documents.syShippingOrder.entity.SyShippingOrderItem;
+import org.jeecg.modules.documents.syShippingOrder.service.ISyShippingOrderItemService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.system.base.controller.JeecgController;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+ /**
+ * @Description: 托书子表实体类
+ * @Author: jeecg-boot
+ * @Date:   2022-07-21
+ * @Version: V1.0
+ */
+@Slf4j
+@Api(tags="托书子表实体类")
+@RestController
+@RequestMapping("/syShippingOrderItem/syShippingOrderItem")
+public class SyShippingOrderItemController extends JeecgController<SyShippingOrderItem, ISyShippingOrderItemService> {
+	@Autowired
+	private ISyShippingOrderItemService syShippingOrderItemService;
+	
+	/**
+	 * 分页列表查询
+	 *
+	 * @param syShippingOrderItem
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	@AutoLog(value = "托书子表实体类-分页列表查询")
+	@ApiOperation(value="托书子表实体类-分页列表查询", notes="托书子表实体类-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<?> queryPageList(SyShippingOrderItem syShippingOrderItem,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<SyShippingOrderItem> queryWrapper = QueryGenerator.initQueryWrapper(syShippingOrderItem, req.getParameterMap());
+		Page<SyShippingOrderItem> page = new Page<SyShippingOrderItem>(pageNo, pageSize);
+		IPage<SyShippingOrderItem> pageList = syShippingOrderItemService.page(page, queryWrapper);
+		return Result.OK(pageList);
+	}
+	
+	/**
+	 * 添加
+	 *
+	 * @param syShippingOrderItem
+	 * @return
+	 */
+	@AutoLog(value = "托书子表实体类-添加")
+	@ApiOperation(value="托书子表实体类-添加", notes="托书子表实体类-添加")
+	@PostMapping(value = "/add")
+	public Result<?> add(@RequestBody SyShippingOrderItem syShippingOrderItem) {
+		syShippingOrderItemService.save(syShippingOrderItem);
+		return Result.OK("添加成功!");
+	}
+	
+	/**
+	 * 编辑
+	 *
+	 * @param syShippingOrderItem
+	 * @return
+	 */
+	@AutoLog(value = "托书子表实体类-编辑")
+	@ApiOperation(value="托书子表实体类-编辑", notes="托书子表实体类-编辑")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public Result<?> edit(@RequestBody SyShippingOrderItem syShippingOrderItem) {
+		syShippingOrderItemService.updateById(syShippingOrderItem);
+		return Result.OK("编辑成功!");
+	}
+	
+	/**
+	 * 通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "托书子表实体类-通过id删除")
+	@ApiOperation(value="托书子表实体类-通过id删除", notes="托书子表实体类-通过id删除")
+	@DeleteMapping(value = "/delete")
+	public Result<?> delete(@RequestParam(name="id",required=true) String id) {
+		syShippingOrderItemService.removeById(id);
+		return Result.OK("删除成功!");
+	}
+	
+	/**
+	 * 批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "托书子表实体类-批量删除")
+	@ApiOperation(value="托书子表实体类-批量删除", notes="托书子表实体类-批量删除")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.syShippingOrderItemService.removeByIds(Arrays.asList(ids.split(",")));
+		return Result.OK("批量删除成功!");
+	}
+	
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "托书子表实体类-通过id查询")
+	@ApiOperation(value="托书子表实体类-通过id查询", notes="托书子表实体类-通过id查询")
+	@GetMapping(value = "/queryById")
+	public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
+		SyShippingOrderItem syShippingOrderItem = syShippingOrderItemService.getById(id);
+		return Result.OK(syShippingOrderItem);
+	}
+
+  /**
+   * 导出excel
+   *
+   * @param request
+   * @param syShippingOrderItem
+   */
+  @RequestMapping(value = "/exportXls")
+  public ModelAndView exportXls(HttpServletRequest request, SyShippingOrderItem syShippingOrderItem) {
+      return super.exportXls(request, syShippingOrderItem, SyShippingOrderItem.class, "托书子表实体类");
+  }
+
+  /**
+   * 通过excel导入数据
+   *
+   * @param request
+   * @param response
+   * @return
+   */
+  @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+  public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+      return super.importExcel(request, response, SyShippingOrderItem.class);
+  }
+
+}

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

@@ -0,0 +1,235 @@
+package org.jeecg.modules.documents.syShippingOrder.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.jeecg.modules.documents.letterDeposit.entity.SyRmb;
+import org.jeecg.modules.documents.letterDeposit.entity.SyUsd;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+/**
+ * @Description: 托书主表实体类
+ * @Author: jeecg-boot
+ * @Date:   2022-07-21
+ * @Version: V1.0
+ */
+@Data
+@TableName("sy_shipping_order")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="sy_shipping_order对象", description="托书主表实体类")
+public class SyShippingOrder {
+    
+	/**id*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "id")
+	private java.lang.String id;
+	/**创建人*/
+	@Excel(name = "创建人", width = 15)
+    @ApiModelProperty(value = "创建人")
+	private java.lang.String createBy;
+	/**创建日期*/
+	@Excel(name = "创建日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "创建日期")
+	private java.util.Date createTime;
+	/**修改人*/
+	@Excel(name = "修改人", width = 15)
+    @ApiModelProperty(value = "修改人")
+	private java.lang.String updateBy;
+	/**修改日期*/
+	@Excel(name = "修改日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "修改日期")
+	private java.util.Date updateTime;
+	/**组织*/
+	@Excel(name = "组织", width = 15)
+    @ApiModelProperty(value = "组织")
+	private java.lang.String pkOrg;
+	/**删除状态*/
+	@Excel(name = "删除状态", width = 15)
+    @ApiModelProperty(value = "删除状态")
+	private java.lang.String delFlag;
+	/**备注*/
+	@Excel(name = "备注", width = 15)
+    @ApiModelProperty(value = "备注")
+	private java.lang.Object memo;
+	/**托书日期*/
+	@Excel(name = "托书日期", width = 20, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "托书日期")
+	private java.util.Date shippingOrderDate;
+	/**托书号*/
+	@Excel(name = "托书号", width = 15)
+    @ApiModelProperty(value = "托书号")
+	private java.lang.String shippingOrderNumber;
+	/**外销发票号码*/
+	@Excel(name = "外销发票号码", width = 15)
+    @ApiModelProperty(value = "外销发票号码")
+	private java.lang.String exportInvoiceNo;
+	/**经营单位*/
+	@Excel(name = "经营单位", width = 15)
+    @ApiModelProperty(value = "经营单位")
+	private java.lang.String unitInOperation;
+	/**经营单位地址*/
+	@Excel(name = "经营单位地址", width = 15)
+    @ApiModelProperty(value = "经营单位地址")
+	private java.lang.String unitInOperationAddress;
+	/**装运期限*/
+	@Excel(name = "装运期限", width = 20, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "装运期限")
+	private java.util.Date latestDateOfShipment;
+	/**最终船期*/
+	@Excel(name = "最终船期", width = 20, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "最终船期")
+	private java.util.Date theFinalShippingDate;
+	/**收货人*/
+	@Excel(name = "收货人", width = 15)
+    @ApiModelProperty(value = "收货人")
+	private java.lang.String consignee;
+	/**收货人地址*/
+	@Excel(name = "收货人地址", width = 15)
+    @ApiModelProperty(value = "收货人地址")
+	private java.lang.String consigneeAddress;
+	/**通知方*/
+	@Excel(name = "通知方", width = 15)
+    @ApiModelProperty(value = "通知方")
+	private java.lang.String notifyParty;
+	/**通知方地址*/
+	@Excel(name = "通知方地址", width = 15)
+    @ApiModelProperty(value = "通知方地址")
+	private java.lang.String notifyPartyAddress;
+	/**贸易国别*/
+	@Excel(name = "贸易国别", width = 15)
+    @ApiModelProperty(value = "贸易国别")
+	private java.lang.String tradeCountry;
+	/**运抵国别*/
+	@Excel(name = "运抵国别", width = 15)
+    @ApiModelProperty(value = "运抵国别")
+	private java.lang.String arriveInCountry;
+	/**出口口岸*/
+	@Excel(name = "出口口岸", width = 15)
+    @ApiModelProperty(value = "出口口岸")
+	private java.lang.String exportPort;
+	/**目的港*/
+	@Excel(name = "目的港", width = 15)
+    @ApiModelProperty(value = "目的港")
+	private java.lang.String destinationPort;
+	/**收汇方式*/
+	@Excel(name = "收汇方式", width = 15)
+    @ApiModelProperty(value = "收汇方式")
+	private java.lang.String exchangeEarningsValue;
+	/**收汇方式文本*/
+	@Excel(name = "收汇方式文本", width = 15)
+    @ApiModelProperty(value = "收汇方式文本")
+	private java.lang.String exchangeEarningsText;
+	/**成交方式*/
+	@Excel(name = "成交方式", width = 15)
+    @ApiModelProperty(value = "成交方式")
+	private java.lang.String termsOfDeliveryvalue;
+	/**成交方式文本*/
+	@Excel(name = "成交方式文本", width = 15)
+    @ApiModelProperty(value = "成交方式文本")
+	private java.lang.String termsOfDeliveryText;
+	/**金额*/
+	@Excel(name = "金额", width = 15)
+    @ApiModelProperty(value = "金额")
+	private java.math.BigDecimal money;
+	/**人民币*/
+	@Excel(name = "人民币", width = 15)
+    @ApiModelProperty(value = "人民币")
+	private java.math.BigDecimal cny;
+	/**美元*/
+	@Excel(name = "美元", width = 15)
+    @ApiModelProperty(value = "美元")
+	private java.math.BigDecimal usd;
+	/**订单号*/
+	@Excel(name = "订单号", width = 15)
+    @ApiModelProperty(value = "订单号")
+	private java.lang.String orderNumber;
+	/**客户简称*/
+	@Excel(name = "客户简称", width = 15)
+    @ApiModelProperty(value = "客户简称")
+	private java.lang.String clientAbbreviation;
+	/**分销点*/
+	@Excel(name = "分销点", width = 15)
+    @ApiModelProperty(value = "分销点")
+	private java.lang.String distributionPoint;
+	/**总箱数*/
+	@Excel(name = "总箱数", width = 15)
+    @ApiModelProperty(value = "总箱数")
+	private java.math.BigDecimal boxNumber;
+	/**总毛重*/
+	@Excel(name = "总毛重", width = 15)
+    @ApiModelProperty(value = "总毛重")
+	private java.math.BigDecimal totalGrossWeight;
+	/**总体积*/
+	@Excel(name = "总体积", width = 15)
+    @ApiModelProperty(value = "总体积")
+	private java.math.BigDecimal totalVolume;
+	/**实际船期*/
+	@Excel(name = "实际船期", width = 20, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "实际船期")
+	private java.util.Date theActualShippingDate;
+	/**提单或承运收据*/
+	@Excel(name = "提单或承运收据", width = 15)
+    @ApiModelProperty(value = "提单或承运收据")
+	private java.lang.String billOfLadingOrCarriageReceipt;
+	/**抬头人*/
+	@Excel(name = "抬头人", width = 15)
+    @ApiModelProperty(value = "抬头人")
+	private java.lang.String addressee;
+	/**通知人*/
+	@Excel(name = "通知人", width = 15)
+    @ApiModelProperty(value = "通知人")
+	private java.lang.String notifier;
+	/**NOTIFY*/
+	@Excel(name = "NOTIFY", width = 15)
+    @ApiModelProperty(value = "NOTIFY")
+	private java.lang.String nottfy;
+	/**单据状态*/
+	@Excel(name = "单据状态", width = 15)
+    @ApiModelProperty(value = "单据状态")
+	private java.lang.String theDocumentsState;
+
+
+	/**子表集合*/
+	@Excel(name = "子表集合", width = 15)
+	@ApiModelProperty(value = "子表集合")
+	@TableField(exist = false)
+	private List<SyShippingOrderItem> syShippingOrderItemList;
+	/**美元集合*/
+	@Excel(name = "美元集合", width = 15)
+	@ApiModelProperty(value = "美元集合")
+	@TableField(exist = false)
+	List<SyUsd> usdList;
+	/**人民币集合*/
+	@Excel(name = "人民币集合", width = 15)
+	@ApiModelProperty(value = "人民币集合")
+	@TableField(exist = false)
+	List<SyRmb> rmbList;
+	@ApiModelProperty(value = "提交或者取消提交")
+	@TableField(exist = false)
+	private String type;
+}

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

@@ -0,0 +1,157 @@
+package org.jeecg.modules.documents.syShippingOrder.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+/**
+ * @Description: 托书子表实体类
+ * @Author: jeecg-boot
+ * @Date:   2022-07-21
+ * @Version: V1.0
+ */
+@Data
+@TableName("sy_shipping_order_item")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="sy_shipping_order_item对象", description="托书子表实体类")
+public class SyShippingOrderItem {
+    
+	/**id*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "id")
+	private java.lang.String id;
+	/**托书主表id*/
+	@Excel(name = "托书主表id", width = 15)
+    @ApiModelProperty(value = "托书主表id")
+	private java.lang.String syShippingOrderItemId;
+	/**英文名称*/
+	@Excel(name = "英文名称", width = 15)
+    @ApiModelProperty(value = "英文名称")
+	private java.lang.String englishName;
+	/**款号*/
+	@Excel(name = "款号", width = 15)
+    @ApiModelProperty(value = "款号")
+	private java.lang.String styleNumber;
+	/**小PO号*/
+	@Excel(name = "小PO号", width = 15)
+    @ApiModelProperty(value = "小PO号")
+	private java.lang.String smailPo;
+	/**数量*/
+	@Excel(name = "数量", width = 15)
+    @ApiModelProperty(value = "数量")
+	private java.math.BigDecimal number;
+	/**箱数*/
+	@Excel(name = "箱数", width = 15)
+    @ApiModelProperty(value = "箱数")
+		private java.math.BigDecimal boxNumber;
+	/**毛重*/
+	@Excel(name = "毛重", width = 15)
+    @ApiModelProperty(value = "毛重")
+	private java.math.BigDecimal grossWeight;
+	/**净重*/
+	@Excel(name = "净重", width = 15)
+    @ApiModelProperty(value = "净重")
+	private java.math.BigDecimal netWeight;
+	/**体积*/
+	@Excel(name = "体积", width = 15)
+    @ApiModelProperty(value = "体积")
+	private java.math.BigDecimal volume;
+	/**分销点*/
+	@Excel(name = "分销点", width = 15)
+    @ApiModelProperty(value = "分销点")
+	private java.lang.String theDistribution;
+	/**集装箱代号*/
+	@Excel(name = "集装箱代号", width = 15)
+    @ApiModelProperty(value = "集装箱代号")
+	private java.lang.String containerCode;
+	/**集装箱号*/
+	@Excel(name = "集装箱号", width = 15)
+    @ApiModelProperty(value = "集装箱号")
+	private java.lang.String containerNumber;
+	/**单价*/
+	@Excel(name = "单价", width = 15)
+    @ApiModelProperty(value = "单价")
+	private java.math.BigDecimal unitPrice;
+	/**预发货日期*/
+	@Excel(name = "预发货日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "预发货日期")
+	private java.util.Date preShipmentDate;
+	/**业务员*/
+	@Excel(name = "业务员", width = 15)
+    @ApiModelProperty(value = "业务员")
+	private java.lang.String salesman;
+	/**业务部门*/
+	@Excel(name = "业务部门", width = 15)
+    @ApiModelProperty(value = "业务部门")
+	private java.lang.String operatingDepartment;
+	/**采购/委外订单号*/
+	@Excel(name = "采购/委外订单号", width = 15)
+    @ApiModelProperty(value = "采购/委外订单号")
+	private java.lang.String purchaseOutsourcingOrderNo;
+	/**采购/委外工厂*/
+	@Excel(name = "采购/委外工厂", width = 15)
+    @ApiModelProperty(value = "采购/委外工厂")
+	private java.lang.String outsourcingFactoryForProcurement;
+	/**创建人*/
+	@Excel(name = "创建人", width = 15)
+    @ApiModelProperty(value = "创建人")
+	private java.lang.String createBy;
+	/**创建日期*/
+	@Excel(name = "创建日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "创建日期")
+	private java.util.Date createTime;
+	/**修改人*/
+	@Excel(name = "修改人", width = 15)
+    @ApiModelProperty(value = "修改人")
+	private java.lang.String updateBy;
+	/**修改日期*/
+	@Excel(name = "修改日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "修改日期")
+	private java.util.Date updateTime;
+	/**组织*/
+	@Excel(name = "组织", width = 15)
+    @ApiModelProperty(value = "组织")
+	private java.lang.String pkOrg;
+	/**删除状态*/
+	@Excel(name = "删除状态", width = 15)
+    @ApiModelProperty(value = "删除状态")
+	private java.lang.String delFlag;
+	/**备注*/
+	@Excel(name = "备注", width = 15)
+    @ApiModelProperty(value = "备注")
+	private java.lang.Object memo;
+	/**排序*/
+	@Excel(name = "排序", width = 15)
+    @ApiModelProperty(value = "排序")
+	private java.lang.Integer sort;
+	/**成衣或者面料*/
+	@Excel(name = "成衣或者面料", width = 15)
+	@ApiModelProperty(value = "成衣或者面料")
+	private String readyFabric;
+	/**成衣或者面料*/
+	@Excel(name = "(装箱单)成衣或者面料主表ID", width = 15)
+	@ApiModelProperty(value = "(装箱单)成衣或者面料主表ID")
+	private String tailoringFabricId;
+	/**成衣或者面料*/
+	@Excel(name = "(装箱单)成衣或者面料子表ID", width = 15)
+	@ApiModelProperty(value = "(装箱单)成衣或者面料子表ID")
+	private String tailoringFabricItemId;
+}

+ 68 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/syShippingOrder/entity/VO/SyPackingList.java

@@ -0,0 +1,68 @@
+package org.jeecg.modules.documents.syShippingOrder.entity.VO;
+
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.jeecg.modules.spapl.entity.SizeTable;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * 装箱单VO类
+ */
+@Data
+public class SyPackingList {
+
+    //主表ID
+    private String id;
+    //子表ID
+    private String itemId;
+
+    private String documentNo;
+
+
+    /**款号*/
+    @ApiModelProperty(value = "款号")
+    private String itemNumber;
+    /**预发货日期*/
+    @ApiModelProperty(value = "预发货日期")
+    private String preDeliveryDate;
+    /**客户简称*/
+    @ApiModelProperty(value = "客户简称")
+    private String customerAbbreviation;
+    /**小PO*/
+    @ApiModelProperty(value = "小PO")
+    private String smallPo;
+    /**分销点*/
+    @ApiModelProperty(value = "分销点")
+    private String distributionPoint;
+    /**备注*/
+    @ApiModelProperty(value = "备注")
+    private String memo;
+    /**客户*/
+    @ApiModelProperty(value = "客户")
+    private String customer;
+    /**存货名称*/
+    @ApiModelProperty(value = "存货名称")
+    private String inventoryName;
+    /**颜色*/
+    @ApiModelProperty(value = "颜色")
+    private String colour;
+    /**采购/委外订单号*/
+    @ApiModelProperty(value = "采购/委外订单号")
+    private String purchase;
+    /**订单类型*/
+    @ApiModelProperty(value = "订单类型")
+    private String orderType;
+    /**工厂单价*/
+    @ApiModelProperty(value = "工厂单价")
+    private String theFactoryPrice;
+
+    /**成衣或者面料*/
+    @Excel(name = "成衣或者面料", width = 15)
+    @ApiModelProperty(value = "成衣或者面料")
+    private String readyFabric;
+}

+ 14 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/syShippingOrder/mapper/SyShippingOrderItemMapper.java

@@ -0,0 +1,14 @@
+package org.jeecg.modules.documents.syShippingOrder.mapper;
+
+import org.jeecg.modules.documents.syShippingOrder.entity.SyShippingOrderItem;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 托书子表实体类
+ * @Author: jeecg-boot
+ * @Date:   2022-07-21
+ * @Version: V1.0
+ */
+public interface SyShippingOrderItemMapper extends BaseMapper<SyShippingOrderItem> {
+
+}

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

@@ -0,0 +1,32 @@
+package org.jeecg.modules.documents.syShippingOrder.mapper;
+
+import java.util.List;
+
+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.SyShippingOrder;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.documents.syShippingOrder.entity.VO.SyPackingList;
+
+/**
+ * @Description: 托书主表实体类
+ * @Author: jeecg-boot
+ * @Date:   2022-07-21
+ * @Version: V1.0
+ */
+public interface SyShippingOrderMapper extends BaseMapper<SyShippingOrder> {
+
+    //分页列表查询
+    IPage<SyShippingOrder> syShippingOrderPageList(IPage<SyShippingOrder> page, @Param("ew") QueryWrapper<SyShippingOrder> queryWrapper);
+
+    //查询装箱单-成衣
+    IPage<SyPackingList> queryTailoring(IPage<SyPackingList> page, @Param("ew") QueryWrapper<SyPackingList> queryWrapper);
+
+    //查询装箱单-面料
+    IPage<SyPackingList> queryFabric(IPage<SyPackingList> page, @Param("ew") QueryWrapper<SyPackingList> queryWrapper);
+
+    //删除子表数据
+    public void syShippingOrderItemDelete(@Param("id") String id);
+
+}

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

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.documents.syShippingOrder.mapper.SyShippingOrderItemMapper">
+
+</mapper>

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

@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.documents.syShippingOrder.mapper.SyShippingOrderMapper">
+
+    <select id="syShippingOrderPageList" resultType="org.jeecg.modules.documents.syShippingOrder.entity.SyShippingOrder">
+
+  select shipping_order_number as shippingOrderNumber,order_number as orderNumber,export_invoice_no as exportInvoiceNo,
+  distribution_point as distributionPoint,unit_in_operation as unitInOperation,box_number as boxNumber,total_gross_weight as totalGrossWeight,
+  total_volume as totalVolume,
+  money,the_actual_shipping_date as theActualShippingDate,exchange_earnings_text as exchangeEarningsText,
+  consignee,bill_of_lading_or_carriage_receipt as billOfLadingOrCarriageReceipt,
+  addressee,trade_country as tradeCountry,arrive_in_country as arriveInCountry,export_port as exportPort,
+  notifier,nottfy,destination_port as destinationPort,latest_date_of_shipment as latestDateOfShipment,the_documents_state as theDocumentsState
+  from sy_shipping_order where del_flag = 0
+
+    </select>
+
+
+<!--    查询装箱单-成衣-->
+  <select id="queryTailoring" resultType="org.jeecg.modules.documents.syShippingOrder.entity.VO.SyPackingList">
+
+    select a.id as id ,GROUP_CONCAT(b.id) as itemId, a.document_No as documentNo,a.order_number as orderNumber,a.depositary_receipt_no as depositaryReceiptNo,
+     a.item_number as itemNumber,b.inventory_name as productName,b.distribution_point as distributionPoint,
+     b.item_code as itemCode,b.starting_box_number as startingBoxNumber,b.end_case_number as endCaseNumber,
+     b.colour as colour,b.pieces_box as piecesBox,b.box_number as boxNumber,b.total as total,b.outer_box_length as outerBoxLength,
+     b.outer_box_width as outerBoxWidth,b.outer_box_height as outerBoxHeight,b.total_volume as totalVolume,b.total_net_weight as totalNetWeight,
+     b.total_gross_weight as totalGrossWeight,'成衣' as readyFabric
+       from sy_packing_list_tailoring a
+    left join sy_packing_list_tailoring_item b
+    on a.id = b.sy_packing_list_tailoring_id
+   ${ew.customSqlSegment}
+
+  </select>
+
+    <!--    查询装箱单-面料-->
+    <select id="queryFabric" resultType="org.jeecg.modules.documents.syShippingOrder.entity.VO.SyPackingList">
+
+    select a.id as id ,GROUP_CONCAT(b.id) as itemId, a.document_No as documentNo,a.order_number as orderNumber,a.depositary_receipt_no as depositaryReceiptNo,
+     b.inventory_name as productName,
+     b.inventory_Code as itemCode,
+     b.colour as colour,
+     '面料' as readyFabric
+       from sy_packing_list_fabric a
+    left join sy_packing_list_fabric_item b
+    on a.id = b.sy_packing_list_fabric_id
+   ${ew.customSqlSegment}
+
+  </select>
+
+    <update id="syShippingOrderItemDelete">
+
+        update sy_shipping_order_item
+        set del_flag = '1'
+        where sy_shipping_order_item_id = #{id}
+    </update>
+
+</mapper>

+ 14 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/syShippingOrder/service/ISyShippingOrderItemService.java

@@ -0,0 +1,14 @@
+package org.jeecg.modules.documents.syShippingOrder.service;
+
+import org.jeecg.modules.documents.syShippingOrder.entity.SyShippingOrderItem;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 托书子表实体类
+ * @Author: jeecg-boot
+ * @Date:   2022-07-21
+ * @Version: V1.0
+ */
+public interface ISyShippingOrderItemService extends IService<SyShippingOrderItem> {
+
+}

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

@@ -0,0 +1,38 @@
+package org.jeecg.modules.documents.syShippingOrder.service;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.jeecg.modules.documents.shippingDetails.entity.VO.OrderDataVo;
+import org.jeecg.modules.documents.syShippingOrder.entity.SyShippingOrder;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.documents.syShippingOrder.entity.VO.SyPackingList;
+
+/**
+ * @Description: 托书主表实体类
+ * @Author: jeecg-boot
+ * @Date:   2022-07-21
+ * @Version: V1.0
+ */
+public interface ISyShippingOrderService extends IService<SyShippingOrder> {
+
+    //分页列表查询
+    IPage<SyShippingOrder> syShippingOrderPageList(IPage<SyShippingOrder> page, QueryWrapper<SyShippingOrder> queryWrapper);
+
+    //查询装箱单-成衣
+    IPage<SyPackingList> queryTailoring(IPage<SyPackingList> page, QueryWrapper<SyPackingList> queryWrapper);
+
+    //查询装箱单-面料
+    IPage<SyPackingList> queryFabric(IPage<SyPackingList> page, QueryWrapper<SyPackingList> queryWrapper);
+
+    //新增
+    public SyShippingOrder syShippingOrderAdd(SyShippingOrder syShippingOrder);
+
+    //修改
+    public SyShippingOrder syShippingOrderEdit(SyShippingOrder syShippingOrder);
+
+    //提交/取消提交
+    public int syShippingOrderSubmit(String id,String type);
+
+    //删除子表数据
+    public void syShippingOrderItemDelete(String id);
+}

+ 19 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/syShippingOrder/service/impl/SyShippingOrderItemServiceImpl.java

@@ -0,0 +1,19 @@
+package org.jeecg.modules.documents.syShippingOrder.service.impl;
+
+import org.jeecg.modules.documents.syShippingOrder.entity.SyShippingOrderItem;
+import org.jeecg.modules.documents.syShippingOrder.mapper.SyShippingOrderItemMapper;
+import org.jeecg.modules.documents.syShippingOrder.service.ISyShippingOrderItemService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 托书子表实体类
+ * @Author: jeecg-boot
+ * @Date:   2022-07-21
+ * @Version: V1.0
+ */
+@Service
+public class SyShippingOrderItemServiceImpl extends ServiceImpl<SyShippingOrderItemMapper, SyShippingOrderItem> implements ISyShippingOrderItemService {
+
+}

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

@@ -0,0 +1,323 @@
+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.jeecg.common.exception.JeecgBootException;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.documents.letterDeposit.entity.SyRmb;
+import org.jeecg.modules.documents.letterDeposit.entity.SyUsd;
+import org.jeecg.modules.documents.letterDeposit.mapper.SyLetterDepositMapper;
+import org.jeecg.modules.documents.shippingDetails.entity.SyShippingDetails;
+import org.jeecg.modules.documents.syShippingOrder.entity.SyShippingOrder;
+import org.jeecg.modules.documents.syShippingOrder.entity.SyShippingOrderItem;
+import org.jeecg.modules.documents.syShippingOrder.entity.VO.SyPackingList;
+import org.jeecg.modules.documents.syShippingOrder.mapper.SyShippingOrderMapper;
+import org.jeecg.modules.documents.syShippingOrder.service.ISyShippingOrderService;
+import org.jeecg.modules.splfi.entity.SyPackingListFabric;
+import org.jeecg.modules.splfi.entity.SyPackingListFabricItem;
+import org.jeecg.modules.splfi.service.impl.SyPackingListFabricItemServiceImpl;
+import org.jeecg.modules.splfi.service.impl.SyPackingListFabricServiceImpl;
+import org.jeecg.modules.splt.entity.SyPackingListTailoring;
+import org.jeecg.modules.splt.entity.SyPackingListTailoringItem;
+import org.jeecg.modules.splt.service.impl.SyPackingListTailoringItemServiceImpl;
+import org.jeecg.modules.splt.service.impl.SyPackingListTailoringServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Description: 托书主表实体类
+ * @Author: jeecg-boot
+ * @Date:   2022-07-21
+ * @Version: V1.0
+ */
+@Service
+@Transactional
+public class SyShippingOrderServiceImpl extends ServiceImpl<SyShippingOrderMapper, SyShippingOrder> implements ISyShippingOrderService {
+
+    @Resource
+    private SyShippingOrderMapper syShippingOrderMapper;
+    @Autowired
+    private SyShippingOrderItemServiceImpl syShippingOrderItemService;
+    @Resource
+    private SyLetterDepositMapper syLetterDepositMapper;
+    @Autowired
+    private SyPackingListFabricServiceImpl syPackingListFabricService;
+    @Autowired
+    private SyPackingListFabricItemServiceImpl syPackingListFabricItemService;
+    @Autowired
+    private SyPackingListTailoringServiceImpl syPackingListTailoringService;
+    @Autowired
+    private SyPackingListTailoringItemServiceImpl syPackingListTailoringItemService;
+
+
+    /**
+     * 分页列表查询
+     * @param page
+     * @param queryWrapper
+     * @return
+     */
+    @Override
+    public IPage<SyShippingOrder> syShippingOrderPageList(IPage<SyShippingOrder> page, QueryWrapper<SyShippingOrder> queryWrapper) {
+        return syShippingOrderMapper.syShippingOrderPageList(page, queryWrapper);
+    }
+
+    /**
+     * 托书参照装箱单-成衣
+     * @param page
+     * @param queryWrapper
+     * @return
+     */
+    @Override
+    public IPage<SyPackingList> queryTailoring(IPage<SyPackingList> page, QueryWrapper<SyPackingList> queryWrapper) {
+        return syShippingOrderMapper.queryTailoring(page, queryWrapper);
+    }
+
+    /**
+     * 托书参照装箱单-面料
+     * @param page
+     * @param queryWrapper
+     * @return
+     */
+    @Override
+    public IPage<SyPackingList> queryFabric(IPage<SyPackingList> page, QueryWrapper<SyPackingList> queryWrapper) {
+        return syShippingOrderMapper.queryFabric(page, queryWrapper);
+    }
+
+
+    /**
+     * 托书新增
+     * @param syShippingOrder
+     * @return
+     */
+    @Override
+    public SyShippingOrder syShippingOrderAdd(SyShippingOrder syShippingOrder) {
+
+        //子表集合
+        List<SyShippingOrderItem> itemList = new ArrayList<>();
+
+        String id = oConvertUtils.id();
+        syShippingOrder.setId(id);
+        syShippingOrder.setDelFlag("0");
+        syShippingOrder.setCreateTime(new Date());
+
+        //新增子表
+        List<SyShippingOrderItem> list = syShippingOrder.getSyShippingOrderItemList();
+        if(list.size()!=0){
+            for(SyShippingOrderItem li:list){
+
+                //装箱单子表ID集合
+                List<String> fabricItemIdList = new ArrayList<>();
+
+                //装箱单子表ID根据逗号拆分
+                String fabricTailoring = li.getTailoringFabricItemId();
+                String fabricTailoringSplit[] = fabricTailoring.split(",");
+                for(String str:fabricTailoringSplit){
+                    fabricItemIdList.add(str);
+                }
+
+                if(li.getReadyFabric().equals("面料")){
+                    //查询装箱单面料子表数据
+                    QueryWrapper<SyPackingListFabricItem> queryWrapper = new QueryWrapper<SyPackingListFabricItem>();
+                    queryWrapper.in("id",fabricItemIdList);
+                    List<SyPackingListFabricItem> itemslist = syPackingListFabricItemService.list(queryWrapper);
+                    //转换数据
+                    for (SyPackingListFabricItem itemli :itemslist){
+
+                        SyShippingOrderItem syShippingOrderItem =  new SyShippingOrderItem();
+
+                        syShippingOrderItem.setId(oConvertUtils.id());
+                        syShippingOrderItem.setSyShippingOrderItemId(id);
+                        syShippingOrderItem.setDelFlag("0");
+                        syShippingOrderItem.setStyleNumber(itemli.getItemNumber());
+                        syShippingOrderItem.setNumber(itemli.getInventoryQuantity());//数量
+
+                         itemList.add(syShippingOrderItem);
+
+                        //回写预装箱单面料 剩余数量
+                        BigDecimal rema = itemli.getRemainingQuantity();
+                        BigDecimal tatol = rema.subtract(li.getNumber());
+                        itemli.setRemainingQuantity(tatol);
+                        syPackingListFabricItemService.updateById(itemli);
+                    }
+
+
+
+                    //回写预装箱面料外销发票号
+                    SyPackingListFabric syPackingListFabric = syPackingListFabricService.getById(li.getTailoringFabricId());
+                    if(oConvertUtils.isEmpty(syPackingListFabric)){
+                        throw new JeecgBootException("没有查询到装箱单数据!");
+                    }
+                    syPackingListFabric.setExportInvoiceNo(syShippingOrder.getExportInvoiceNo());
+                    syPackingListFabricService.updateById(syPackingListFabric);
+
+                }else{ //成衣
+
+                    //查询装箱单成衣子表数据
+                    QueryWrapper<SyPackingListTailoringItem> queryWrapper = new QueryWrapper<SyPackingListTailoringItem>();
+                    queryWrapper.in("id",fabricItemIdList);
+                    List<SyPackingListTailoringItem> itemslist = syPackingListTailoringItemService.list(queryWrapper);
+
+                    //转换数据
+                    for(SyPackingListTailoringItem lit:itemslist){
+                        SyShippingOrderItem syShippingOrderItem =  new SyShippingOrderItem();
+
+                        syShippingOrderItem.setId(oConvertUtils.id());
+                        syShippingOrderItem.setSyShippingOrderItemId(id);
+                        syShippingOrderItem.setDelFlag("0");
+                      //  syShippingOrderItem.setNumber(lit.getInventoryQuantity());//数量
+                        syShippingOrderItem.setSmailPo(lit.getSmallPo());
+                        syShippingOrderItem.setBoxNumber(lit.getBoxNumber());
+                        syShippingOrderItem.setGrossWeight(lit.getGrossWeight());
+                        syShippingOrderItem.setNetWeight(lit.getNetWeight());
+                       // syShippingOrderItem.setVolume(lit.get)
+                        syShippingOrderItem.setTheDistribution(lit.getDistributionPoint());
+                       // syShippingOrderItem.setContainerCode(lit.getCom)
+                        syShippingOrderItem.setUnitPrice(lit.getUnitPrice());
+                        //syShippingOrderItem.setPreShipmentDate()
+
+
+                        itemList.add(syShippingOrderItem);
+
+                    }
+
+                    //回写预装箱成衣外销发票号
+                    SyPackingListTailoring syPackingListTailoring = syPackingListTailoringService.getById(li.getTailoringFabricId());
+                    if(oConvertUtils.isEmpty(syPackingListTailoring)){
+                        throw new JeecgBootException("没有查询到装箱单数据!");
+                    }
+                    syPackingListTailoring.setExportInvoiceNo(syShippingOrder.getExportInvoiceNo());
+                    syPackingListTailoringService.updateById(syPackingListTailoring);
+
+                }
+
+            }
+            syShippingOrderItemService.saveBatch(itemList);
+        }
+        //新增人名币
+        List<SyRmb> rmbList = syShippingOrder.getRmbList();
+        if(rmbList.size()!=0){
+            for(SyRmb li:rmbList){
+                li.setId(oConvertUtils.id());
+                li.setSyLetterDepositId(id);
+                li.setDelFlag("0");
+            }
+            syLetterDepositMapper.syRmbAdd(rmbList);
+        }
+        //新增美元
+        List<SyUsd> usdList = syShippingOrder.getUsdList();
+        if(usdList.size()!=0){
+            for(SyUsd li:usdList){
+                li.setId(oConvertUtils.id());
+                li.setSyLetterDepositId(id);
+                li.setDelFlag("0");
+            }
+            syLetterDepositMapper.syUsdAdd(usdList);
+        }
+
+
+        //新增主表
+         boolean boo = save(syShippingOrder);
+         if(boo){
+             return syShippingOrder;
+         }
+        return  null;
+    }
+
+
+    /**
+     * 托书修改
+     * @param syShippingOrder
+     * @return
+     */
+    @Override
+    public SyShippingOrder syShippingOrderEdit(SyShippingOrder syShippingOrder) {
+
+        //修改美元信息
+        syLetterDepositMapper.syUsdDelete(syShippingOrder.getId());
+        List<SyUsd> usdList = syShippingOrder.getUsdList();
+        for(SyUsd li:usdList){
+            li.setId(oConvertUtils.id());
+            li.setSyLetterDepositId(syShippingOrder.getId());
+            li.setDelFlag("0");
+        }
+        syLetterDepositMapper.syUsdAdd(usdList);
+        //修改人民币信息
+        syLetterDepositMapper.syRmbDelete(syShippingOrder.getId());
+        List<SyRmb> rmbList = syShippingOrder.getRmbList();
+        for(SyRmb li:rmbList){
+            li.setId(oConvertUtils.id());
+            li.setSyLetterDepositId(syShippingOrder.getId());
+            li.setDelFlag("0");
+        }
+        syLetterDepositMapper.syRmbAdd(rmbList);
+        //修改子表
+        List<SyShippingOrderItem> itemList = syShippingOrder.getSyShippingOrderItemList();
+        for(SyShippingOrderItem li:itemList){
+
+            if(li.getReadyFabric().equals("面料")){
+
+
+
+                //回写预装箱单面料 剩余数量
+//                BigDecimal rema = itemli.getRemainingQuantity();
+//                BigDecimal tatol = rema.subtract(li.getNumber());
+//                itemli.setRemainingQuantity(tatol);
+//                syPackingListFabricItemService.updateById(itemli);
+            }
+            syShippingOrderItemService.updateById(li);
+        }
+
+        //修改主表
+        boolean boo = updateById(syShippingOrder);
+
+        if(boo){
+            return syShippingOrder;
+        }
+        return null;
+    }
+
+    /**
+     * 提交和取消提交
+     * @param id
+     * @param type
+     * @return
+     */
+    @Override
+    public int syShippingOrderSubmit(String id, String type) {
+        int i = 0;
+        SyShippingOrder syShippingOrder = getById(id);
+        if(oConvertUtils.isNotEmpty(syShippingOrder) && type.equals("1")){
+            syShippingOrder.setTheDocumentsState("1");
+            updateById(syShippingOrder);
+            i = 1;
+        }else if(oConvertUtils.isNotEmpty(syShippingOrder) && type.equals("2")){
+            syShippingOrder.setTheDocumentsState("0");
+            updateById(syShippingOrder);
+            i = 1;
+        }
+        return i;
+    }
+
+    @Override
+    public void syShippingOrderItemDelete(String id) {
+        //删除子表
+        syShippingOrderMapper.syShippingOrderItemDelete(id);
+
+        //删除主表
+        SyShippingOrder entity = getById(id);
+        entity.setDelFlag("1");
+        updateById(entity);
+
+    }
+
+}

+ 2 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/openApi/service/impl/PurchaseWarehousingServiceImpl.java

@@ -204,7 +204,7 @@ public class PurchaseWarehousingServiceImpl extends ServiceImpl<PurchaseWarehous
                             if(map.get("cMaker")==null||map.get("cMaker").equals("")){
                                 throw new RuntimeException("缺少制单人字段");
                             }
-                            map.put("cHandler",map.get("cMaker"));
+                            map.put("cHandler","云工厂管理员");
                         }
                     }else{
                         throw new RuntimeException("未能找到接收方信息");
@@ -214,7 +214,7 @@ public class PurchaseWarehousingServiceImpl extends ServiceImpl<PurchaseWarehous
                     if(map.get("cMaker")==null||map.get("cMaker").equals("")){
                         throw new RuntimeException("缺少制单人字段");
                     }
-                    map.put("cHandler",map.get("cMaker"));
+                    map.put("cHandler","云工厂管理员");
                 }