Browse Source

Merge remote-tracking branch 'origin/dev' into dev

lazhaoqian 4 years ago
parent
commit
4af556b270
36 changed files with 1470 additions and 34 deletions
  1. 17 0
      blade-service-api/blade-client-api/src/main/java/org/springblade/client/dto/BasicContainerDescDTO.java
  2. 16 0
      blade-service-api/blade-client-api/src/main/java/org/springblade/client/dto/BasicPortDescDTO.java
  3. 77 0
      blade-service-api/blade-client-api/src/main/java/org/springblade/client/entity/BasicContainerDesc.java
  4. 72 0
      blade-service-api/blade-client-api/src/main/java/org/springblade/client/entity/BasicContainerType.java
  5. 63 0
      blade-service-api/blade-client-api/src/main/java/org/springblade/client/entity/BasicContainerTypeDesc.java
  6. 78 0
      blade-service-api/blade-client-api/src/main/java/org/springblade/client/entity/BasicPortDesc.java
  7. 74 0
      blade-service-api/blade-client-api/src/main/java/org/springblade/client/entity/BasicPortType.java
  8. 64 0
      blade-service-api/blade-client-api/src/main/java/org/springblade/client/entity/BasicPortTypeDesc.java
  9. 3 0
      blade-service-api/blade-project-api/src/main/java/org/springblade/project/entity/ServiceProject.java
  10. 4 0
      blade-service-api/blade-project-api/src/main/java/org/springblade/project/entity/ServiceProjectItem.java
  11. 164 0
      blade-service/blade-client/src/main/java/org/springblade/client/container/controller/ContainerController.java
  12. 23 0
      blade-service/blade-client/src/main/java/org/springblade/client/container/mapper/BasicContainerDescMapper.java
  13. 53 0
      blade-service/blade-client/src/main/java/org/springblade/client/container/mapper/BasicContainerDescMapper.xml
  14. 18 0
      blade-service/blade-client/src/main/java/org/springblade/client/container/mapper/BasicContainerTypeDescMapper.java
  15. 18 0
      blade-service/blade-client/src/main/java/org/springblade/client/container/mapper/BasicContainerTypeMapper.java
  16. 27 0
      blade-service/blade-client/src/main/java/org/springblade/client/container/service/BasicContainerDescService.java
  17. 21 0
      blade-service/blade-client/src/main/java/org/springblade/client/container/service/BasicContainerTypeDescService.java
  18. 22 0
      blade-service/blade-client/src/main/java/org/springblade/client/container/service/BasicContainerTypeService.java
  19. 65 0
      blade-service/blade-client/src/main/java/org/springblade/client/container/service/imp/BasicContainerDescServiceImpl.java
  20. 18 0
      blade-service/blade-client/src/main/java/org/springblade/client/container/service/imp/BasicContainerTypeDescServiceImpl.java
  21. 22 0
      blade-service/blade-client/src/main/java/org/springblade/client/container/service/imp/BasicContainerTypeServiceImpl.java
  22. 165 0
      blade-service/blade-client/src/main/java/org/springblade/client/port/controller/PortController.java
  23. 23 0
      blade-service/blade-client/src/main/java/org/springblade/client/port/mapper/BasicPortDescMapper.java
  24. 57 0
      blade-service/blade-client/src/main/java/org/springblade/client/port/mapper/BasicPortDescMapper.xml
  25. 19 0
      blade-service/blade-client/src/main/java/org/springblade/client/port/mapper/BasicPortTypeDescMapper.java
  26. 19 0
      blade-service/blade-client/src/main/java/org/springblade/client/port/mapper/BasicPortTypeMapper.java
  27. 24 0
      blade-service/blade-client/src/main/java/org/springblade/client/port/service/BasicPortContainerService.java
  28. 27 0
      blade-service/blade-client/src/main/java/org/springblade/client/port/service/BasicPortDescService.java
  29. 21 0
      blade-service/blade-client/src/main/java/org/springblade/client/port/service/BasicPortTypeDescService.java
  30. 23 0
      blade-service/blade-client/src/main/java/org/springblade/client/port/service/BasicPortTypeService.java
  31. 72 0
      blade-service/blade-client/src/main/java/org/springblade/client/port/service/impl/BasicPortDescServiceImpl.java
  32. 25 0
      blade-service/blade-client/src/main/java/org/springblade/client/port/service/impl/BasicPortTypeDescServiceImpl.java
  33. 24 0
      blade-service/blade-client/src/main/java/org/springblade/client/port/service/impl/BasicPortTypeServiceImpl.java
  34. 16 4
      blade-service/blade-project/src/main/java/org/springblade/project/controller/ProjectController.java
  35. 3 1
      blade-service/blade-project/src/main/java/org/springblade/project/service/ServiceProjectService.java
  36. 33 29
      blade-service/blade-project/src/main/java/org/springblade/project/service/impl/ServiceProjectServiceImpl.java

+ 17 - 0
blade-service-api/blade-client-api/src/main/java/org/springblade/client/dto/BasicContainerDescDTO.java

@@ -0,0 +1,17 @@
+package org.springblade.client.dto;
+
+import lombok.Data;
+import org.springblade.client.entity.BasicContainerDesc;
+import org.springblade.client.entity.BasicPortDesc;
+
+import javax.validation.constraints.NotBlank;
+
+@Data
+public class BasicContainerDescDTO extends BasicContainerDesc
+{
+
+   private String typeName;
+   @NotBlank(message = "集装箱类型id不能为空")
+   private Long typeId;
+}
+

+ 16 - 0
blade-service-api/blade-client-api/src/main/java/org/springblade/client/dto/BasicPortDescDTO.java

@@ -0,0 +1,16 @@
+package org.springblade.client.dto;
+
+import lombok.Data;
+import org.springblade.client.entity.BasicPortDesc;
+
+import javax.validation.constraints.NotBlank;
+
+@Data
+public class BasicPortDescDTO extends BasicPortDesc
+{
+	@NotBlank(message = "港口类型名称不能为空")
+   private String typeName;
+   @NotBlank(message = "港口类型id不能为空")
+   private Long typeId;
+}
+ 

+ 77 - 0
blade-service-api/blade-client-api/src/main/java/org/springblade/client/entity/BasicContainerDesc.java

@@ -0,0 +1,77 @@
+package org.springblade.client.entity;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springblade.core.tenant.mp.TenantEntity;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+
+
+/**
+ *
+ *
+ * @author castiel
+ * @email sunlightcs@gmail.com
+ * @date 2021-10-29 10:50:07
+ */
+@Data
+@TableName("basic_container_desc")
+public class BasicContainerDesc extends TenantEntity implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	//
+	@TableId
+	private Long id;
+	//编码
+	private String code;
+	//费用名称
+	private String name;
+	//英文名称
+	private String enName;
+	//Uncode
+	private String unCode;
+	//Teu
+	private BigDecimal teu;
+	//体积
+	private BigDecimal volume;
+	//毛重
+	private BigDecimal gorssweight;
+	//尺码值
+	private BigDecimal containerSize;
+	//备注
+	private String remarks;
+	//版本
+	private String version;
+	//租户ID
+	private String tenantId;
+	//创建人
+	private Long createUser;
+	//创建时间
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date createTime;
+	//修改人
+	private Long updateUser;
+	//修改时间
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date updateTime;
+	//创建人姓名
+	private String createUserName;
+	//修改人姓名
+	private String updateUserName;
+	//是否删除
+	private Integer isDeleted;
+	//
+	private Integer status;
+	//创建部门
+	private Long createDept;
+
+
+}

+ 72 - 0
blade-service-api/blade-client-api/src/main/java/org/springblade/client/entity/BasicContainerType.java

@@ -0,0 +1,72 @@
+package org.springblade.client.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springblade.core.tenant.mp.TenantEntity;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+/**
+ *
+ *
+ * @author castiel
+ * @email sunlightcs@gmail.com
+ * @date 2021-10-29 10:50:06
+ */
+@Data
+@TableName("basic_container_type")
+public class BasicContainerType extends TenantEntity implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	//
+	@TableId
+	private Long id;
+	//类别名称
+	private String name;
+	//父主键
+	private Long parentId;
+	//祖级列表
+	private String ancestors;
+	//排序
+	private Integer sort;
+	//备注
+	private String remarks;
+	//版本
+	private String version;
+	//租户ID
+	private String tenantId;
+	//创建人
+	private Long createUser;
+	//创建时间
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date createTime;
+	//修改人
+	private Long updateUser;
+	//修改时间
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date updateTime;
+	//创建人姓名
+	private String createUserName;
+	//修改人姓名
+	private String updateUserName;
+	//是否删除
+	@TableLogic
+	private Integer isDeleted;
+	//
+	private Integer status;
+	//创建部门
+	private Long createDept;
+	@TableField(exist = false)
+	private Boolean hasChildren;
+
+}

+ 63 - 0
blade-service-api/blade-client-api/src/main/java/org/springblade/client/entity/BasicContainerTypeDesc.java

@@ -0,0 +1,63 @@
+package org.springblade.client.entity;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springblade.core.tenant.mp.TenantEntity;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+
+/**
+ *
+ *
+ * @author castiel
+ * @email sunlightcs@gmail.com
+ * @date 2021-10-29 10:50:06
+ */
+@Data
+@TableName("basic_container_type_desc")
+public class BasicContainerTypeDesc extends TenantEntity implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	//
+	@TableId
+	private Long id;
+	//港口类型id
+	private Long containerTypeId;
+	//港口id
+	private Long containerId;
+	//版本
+	private String version;
+	//租户ID
+	private String tenantId;
+	//创建人
+	private Long createUser;
+	//创建时间
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date createTime;
+	//修改人
+	private Long updateUser;
+	//修改时间
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date updateTime;
+	//创建人姓名
+	private String createUserName;
+	//修改人姓名
+	private String updateUserName;
+	//是否删除
+	@TableLogic
+	private Integer isDeleted;
+	//
+	private Integer status;
+	//创建部门
+	private Long createDept;
+
+
+}

+ 78 - 0
blade-service-api/blade-client-api/src/main/java/org/springblade/client/entity/BasicPortDesc.java

@@ -0,0 +1,78 @@
+package org.springblade.client.entity;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springblade.core.tenant.mp.TenantEntity;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+/**
+ *
+ *
+ * @author castiel
+ * @email sunlightcs@gmail.com
+ * @date 2021-10-29 10:50:06
+ */
+@Data
+@TableName("basic_port_desc")
+public class BasicPortDesc  extends TenantEntity implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	//
+	@TableId
+	private Long id;
+	//编码
+	private String code;
+	//费用名称
+	private String name;
+	//英文名称
+	private String enName;
+	//Uncode
+	private String unCode;
+	//国家
+	private String country;
+	//省
+	private String province;
+	//市
+	private String city;
+	//航线
+	private String line;
+	//备注
+	private String remarks;
+	//版本
+	private String version;
+	//租户ID
+	private String tenantId;
+	//创建人
+	private Long createUser;
+	//创建时间
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date createTime;
+	//修改人
+	private Long updateUser;
+	//修改时间
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date updateTime;
+	//创建人姓名
+	private String createUserName;
+	//修改人姓名
+	private String updateUserName;
+	//是否删除
+	@TableLogic
+	private Integer isDeleted;
+	//
+	private Integer status;
+	//创建部门
+	private Long createDept;
+
+
+}

+ 74 - 0
blade-service-api/blade-client-api/src/main/java/org/springblade/client/entity/BasicPortType.java

@@ -0,0 +1,74 @@
+package org.springblade.client.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springblade.core.tenant.mp.TenantEntity;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+/**
+ *
+ *
+ * @author castiel
+ * @email sunlightcs@gmail.com
+ * @date 2021-10-29 10:50:06
+ */
+@Data
+@TableName("basic_port_type")
+public class BasicPortType extends TenantEntity implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	//
+	@TableField
+	private Long id;
+	//类别名称
+	private String name;
+	//父主键
+	private Long parentId;
+	//祖级列表
+	private String ancestors;
+	//排序
+	private Integer sort;
+	//备注
+	private String remarks;
+	//版本
+	private String version;
+	//租户ID
+	private String tenantId;
+	//创建人
+	private Long createUser;
+	//创建时间
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date createTime;
+	//修改人
+	private Long updateUser;
+	//修改时间
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date updateTime;
+	//创建人姓名
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private String createUserName;
+	//修改人姓名
+	private String updateUserName;
+	//是否删除
+	@TableLogic
+	private Integer isDeleted;
+	//
+	private Integer status;
+	//创建部门
+	private Long createDept;
+    @TableField(exist = false)
+	private Boolean hasChildren;
+
+
+}

+ 64 - 0
blade-service-api/blade-client-api/src/main/java/org/springblade/client/entity/BasicPortTypeDesc.java

@@ -0,0 +1,64 @@
+package org.springblade.client.entity;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springblade.core.tenant.mp.TenantEntity;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+/**
+ *
+ *
+ * @author castiel
+ * @email sunlightcs@gmail.com
+ * @date 2021-10-29 10:50:06
+ */
+@Data
+@TableName("basic_port_type_desc")
+public class BasicPortTypeDesc extends TenantEntity implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	//
+	@TableId
+	private Long id;
+	//港口类型id
+	private Long portsTypeId;
+	//港口id
+	private Long portsId;
+	//版本
+	private String version;
+	//租户ID
+	private String tenantId;
+	//创建人
+	private Long createUser;
+	//创建时间
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date createTime;
+	//修改人
+	private Long updateUser;
+	//修改时间
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date updateTime;
+	//创建人姓名
+	private String createUserName;
+	//修改人姓名
+	private String updateUserName;
+	//是否删除
+	@TableLogic
+	private Integer isDeleted;
+	//
+	private Integer status;
+	//创建部门
+	private Long createDept;
+
+
+}

+ 3 - 0
blade-service-api/blade-project-api/src/main/java/org/springblade/project/entity/ServiceProject.java

@@ -13,6 +13,7 @@ import java.io.Serializable;
 import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 
 /**
@@ -107,5 +108,7 @@ public class ServiceProject extends TenantEntity implements Serializable {
 	private Boolean allowDelete=true;
     //结算备注
 	private String settlementRemark;
+	@TableField(exist = false)
+	private List<Map<String,Object>> corpName;
 
 }

+ 4 - 0
blade-service-api/blade-project-api/src/main/java/org/springblade/project/entity/ServiceProjectItem.java

@@ -114,6 +114,10 @@ public class ServiceProjectItem extends TenantEntity implements Serializable {
 	@TableField(exist = false)
 	private String userName;
 
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date payTime;
+
 
 
 }

+ 164 - 0
blade-service/blade-client/src/main/java/org/springblade/client/container/controller/ContainerController.java

@@ -0,0 +1,164 @@
+package org.springblade.client.container.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.AllArgsConstructor;
+import org.springblade.client.container.service.BasicContainerDescService;
+import org.springblade.client.container.service.BasicContainerTypeService;
+import org.springblade.client.dto.BasicContainerDescDTO;
+import org.springblade.client.dto.BasicPortDescDTO;
+import org.springblade.client.entity.BasicContainerDesc;
+import org.springblade.client.entity.BasicContainerType;
+import org.springblade.client.entity.BasicPortDesc;
+import org.springblade.client.entity.BasicPortType;
+import org.springblade.client.port.service.BasicPortDescService;
+import org.springblade.client.port.service.BasicPortTypeDescService;
+import org.springblade.client.port.service.BasicPortTypeService;
+import org.springblade.core.secure.utils.SecureUtil;
+import org.springblade.core.tenant.annotation.NonDS;
+import org.springblade.core.tool.api.R;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.CollectionUtils;
+import org.springframework.web.bind.annotation.*;
+import springfox.documentation.annotations.ApiIgnore;
+
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
+
+@NonDS
+@ApiIgnore
+@RestController
+@RequestMapping("/container")
+@AllArgsConstructor
+public class ContainerController
+{
+
+	@Autowired
+	private BasicPortDescService basicPortDescService;
+	@Autowired
+	private BasicPortTypeService basicPortTypeService;
+	@Autowired
+	private BasicPortTypeDescService midBasicPortTypeDescService;
+	@Autowired
+	private BasicContainerDescService basicContainerDescService;
+	@Autowired
+	private BasicContainerTypeService basicContainerTypeService;
+
+
+	@GetMapping("type/list")
+	public R typeList(@RequestParam(name = "current", defaultValue = "1") Integer current,
+					  @RequestParam(name = "size", defaultValue = "10") Integer size,
+					  @RequestParam(name = "parentId", required = false) Long parentId)
+
+	{
+		LambdaQueryWrapper<BasicContainerType> typeLambdaQueryWrapper=new LambdaQueryWrapper<>();
+		typeLambdaQueryWrapper
+			.eq(parentId!=null,BasicContainerType::getParentId,parentId)
+			.orderByDesc(BasicContainerType::getCreateTime);
+		Page<BasicContainerType> page=new Page<>(current,size);
+		IPage<BasicContainerType> iPage=basicContainerTypeService.page(page,typeLambdaQueryWrapper);
+		List<BasicContainerType> records = iPage.getRecords();
+		if(!CollectionUtils.isEmpty(records))
+		{
+			records.forEach(e->{
+				LambdaQueryWrapper<BasicContainerType> basicContainerTypeLambdaQueryWrapper=new LambdaQueryWrapper<>();
+				basicContainerTypeLambdaQueryWrapper.eq(BasicContainerType::getParentId,e.getId());
+				int count = basicContainerTypeService.count(basicContainerTypeLambdaQueryWrapper);
+				e.setHasChildren(count>0?true:false);
+			});
+		}
+		return R.data(iPage);
+	}
+
+	@GetMapping("getContainerTypeList")
+	public List<BasicContainerType> getContainerTypeList( @RequestParam(name = "pid", required = false) Long pid)
+	{
+		LambdaQueryWrapper<BasicContainerType> lambdaQueryWrapper=new LambdaQueryWrapper<>();
+		lambdaQueryWrapper.eq(pid!=null,BasicContainerType::getParentId,pid);
+		List<BasicContainerType> typeList = basicContainerTypeService.list(lambdaQueryWrapper);
+		if(!CollectionUtils.isEmpty(typeList))
+		{
+			typeList.forEach(e->{
+				LambdaQueryWrapper<BasicContainerType> basicPortTypeLambdaQueryWrapper=new LambdaQueryWrapper<>();
+				basicPortTypeLambdaQueryWrapper.eq(BasicContainerType::getParentId,e.getId());
+				int count = basicContainerTypeService.count(basicPortTypeLambdaQueryWrapper);
+				e.setHasChildren(count>0?true:false);
+			});
+		}
+		return typeList;
+	}
+
+	@PostMapping("type/add")
+	public R typeList(@RequestBody BasicContainerType containerType )
+	{
+		containerType.setCreateTime(new Date());
+		containerType.setCreateUser(SecureUtil.getUserId());
+		containerType.setCreateUserName(SecureUtil.getUser().getRoleName());
+		basicContainerTypeService.save(containerType);
+		return R.success("操作成功");
+	}
+
+	@PutMapping("type/edit")
+	public R typeEdit(@RequestBody BasicContainerType containerType)
+	{
+		containerType.setUpdateTime(new Date());
+		containerType.setUpdateUser(SecureUtil.getUserId());
+		containerType.setUpdateUserName(SecureUtil.getUser().getRoleName());
+		basicContainerTypeService.updateById(containerType);
+		return R.success("操作成功");
+	}
+
+	@DeleteMapping("type/delet")
+	public R  typeDelet(@RequestParam(name = "id", required = true) Long id)
+	{
+		List<Long> ids= Arrays.asList(id);
+		basicContainerTypeService.deleteLogic(ids);
+		return R.success("操作成功");
+	}
+
+
+
+	@GetMapping("list")
+	public R list(@RequestParam(name = "current", defaultValue = "1") Integer current,
+				  @RequestParam(name = "size", defaultValue = "10") Integer size,
+				  @RequestParam(name = "name", required = false) String name,
+				  @RequestParam(name = "code", required = false) String code,
+				  @RequestParam(name = "status", required = false) String status)
+	{
+		Page<BasicContainerDescDTO> page=new Page<>(current,size);
+		IPage<BasicContainerDescDTO> iPage = basicContainerDescService.listBasicContainerDesc(page, name, code, status);
+		return R.data(iPage);
+	}
+
+	@PostMapping("add")
+	public R add (@RequestBody BasicContainerDescDTO dto)
+	{
+		dto.setCreateTime(new Date());
+		dto.setCreateUser(SecureUtil.getUserId());
+		dto.setCreateUserName(SecureUtil.getUser().getRoleName());
+		basicContainerDescService.addBasicContainerDesc(dto);
+		return R.success("操作成功");
+	}
+
+	@PutMapping("edit")
+	public R edit( @RequestBody BasicContainerDesc body )
+	{
+		body.setUpdateTime(new Date());
+		body.setUpdateUser(SecureUtil.getUserId());
+		body.setUpdateUserName(SecureUtil.getUser().getRoleName());
+		basicContainerDescService.updateById(body);
+		return R.success("操作成功");
+	}
+
+	@DeleteMapping("delete")
+	public R delete(@RequestParam(name = "id", required = true) Long id)
+	{
+		List<Long> ids= Arrays.asList(id);
+		basicContainerDescService.deleteLogic(ids);
+		return R.success("操作成功");
+	}
+
+
+}

+ 23 - 0
blade-service/blade-client/src/main/java/org/springblade/client/container/mapper/BasicContainerDescMapper.java

@@ -0,0 +1,23 @@
+package org.springblade.client.container.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Param;
+import org.springblade.client.dto.BasicContainerDescDTO;
+import org.springblade.client.entity.BasicContainerDesc;
+
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ *
+ *
+ * @author castiel
+ * @email sunlightcs@gmail.com
+ * @date 2021-10-29 10:50:07
+ */
+@Mapper
+public interface BasicContainerDescMapper extends BaseMapper<BasicContainerDesc>
+{
+      IPage<BasicContainerDescDTO> listBasicContainerDesc(Page<BasicContainerDescDTO> page,@Param("containerName") String containerName,@Param("code") String code,@Param("status") String status);
+}

+ 53 - 0
blade-service/blade-client/src/main/java/org/springblade/client/container/mapper/BasicContainerDescMapper.xml

@@ -0,0 +1,53 @@
+<?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.springblade.client.container.mapper.BasicContainerDescMapper">
+
+    <select id="listBasicContainerDesc" resultType="org.springblade.client.dto.BasicContainerDescDTO">
+        SELECT
+        b.id as id,
+        b.`code` as `code`,
+        b.`name` as `name`,
+        b.en_name as enName,
+        b.un_code as unCode,
+        b.teu as teu,
+        b.volume as volume,
+        b.gorssweight as gorssweight,
+        b.container_size as containerSize,
+        b.remarks as remarks,
+        b.version as version,
+        b.create_user as createUser,
+        b.create_time as createTime,
+        b.update_user as updateUser,
+        b.update_time as updateTime,
+        b.update_user_name as updateUserName,
+        b.create_user_name as createUserName,
+        b.`status` as `status`,
+        a.`name` as typeName
+        FROM
+        basic_container_type a,
+        basic_container_desc b,
+        basic_container_type_desc c
+        WHERE
+        a.id = c.container_type_id
+        AND b.id = c.container_id
+        and b.is_deleted=0
+        <if test="containerName != null and containerName != ''">
+            AND b.`name` LIKE CONCAT('%',#{containerName,jdbcType=VARCHAR},'%')
+        </if>
+        <if test="code != null and code != ''">
+            AND b.`code`=#{code}
+        </if>
+        <if test="status != null and status != ''">
+            AND b.status in
+            (
+            <foreach item="item" index="index" collection="status.split(',')" open="(" separator="," close=")">
+                '${item}'
+            </foreach>
+            )
+        </if>
+
+
+    </select>
+
+</mapper>

+ 18 - 0
blade-service/blade-client/src/main/java/org/springblade/client/container/mapper/BasicContainerTypeDescMapper.java

@@ -0,0 +1,18 @@
+package org.springblade.client.container.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.springblade.client.entity.BasicContainerDesc;
+import org.springblade.client.entity.BasicContainerTypeDesc;
+
+/**
+ *
+ *
+ * @author castiel
+ * @email sunlightcs@gmail.com
+ * @date 2021-10-29 10:50:07
+ */
+@Mapper
+public interface BasicContainerTypeDescMapper extends BaseMapper<BasicContainerTypeDesc> {
+
+}

+ 18 - 0
blade-service/blade-client/src/main/java/org/springblade/client/container/mapper/BasicContainerTypeMapper.java

@@ -0,0 +1,18 @@
+package org.springblade.client.container.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.springblade.client.entity.BasicContainerType;
+
+/**
+ *
+ *
+ * @author castiel
+ * @email sunlightcs@gmail.com
+ * @date 2021-10-29 10:50:06
+ */
+@Mapper
+public interface BasicContainerTypeMapper extends BaseMapper<BasicContainerType> {
+
+}

+ 27 - 0
blade-service/blade-client/src/main/java/org/springblade/client/container/service/BasicContainerDescService.java

@@ -0,0 +1,27 @@
+package org.springblade.client.container.service;
+
+
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Param;
+import org.springblade.client.dto.BasicContainerDescDTO;
+import org.springblade.client.entity.BasicContainerDesc;
+import org.springblade.core.mp.base.BaseService;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ *
+ *
+ * @author castiel
+ * @email sunlightcs@gmail.com
+ * @date 2021-10-29 10:50:07
+ */
+public interface BasicContainerDescService extends BaseService<BasicContainerDesc>
+{
+	IPage<BasicContainerDescDTO> listBasicContainerDesc(Page<BasicContainerDescDTO> page,String containerName, String code, String status);
+
+	void addBasicContainerDesc(BasicContainerDescDTO dto);
+}

+ 21 - 0
blade-service/blade-client/src/main/java/org/springblade/client/container/service/BasicContainerTypeDescService.java

@@ -0,0 +1,21 @@
+package org.springblade.client.container.service;
+
+
+
+import org.springblade.client.entity.BasicContainerDesc;
+import org.springblade.client.entity.BasicContainerType;
+import org.springblade.client.entity.BasicContainerTypeDesc;
+import org.springblade.core.mp.base.BaseService;
+
+/**
+ *
+ *
+ * @author castiel
+ * @email sunlightcs@gmail.com
+ * @date 2021-10-29 10:50:07
+ */
+public interface BasicContainerTypeDescService extends BaseService<BasicContainerTypeDesc>
+{
+
+
+}

+ 22 - 0
blade-service/blade-client/src/main/java/org/springblade/client/container/service/BasicContainerTypeService.java

@@ -0,0 +1,22 @@
+package org.springblade.client.container.service;
+
+
+
+import org.springblade.client.entity.BasicContainerType;
+import org.springblade.core.mp.base.BaseService;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ *
+ *
+ * @author castiel
+ * @email sunlightcs@gmail.com
+ * @date 2021-10-29 10:50:06
+ */
+public interface BasicContainerTypeService extends BaseService<BasicContainerType>
+{
+
+
+}

+ 65 - 0
blade-service/blade-client/src/main/java/org/springblade/client/container/service/imp/BasicContainerDescServiceImpl.java

@@ -0,0 +1,65 @@
+package org.springblade.client.container.service.imp;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springblade.client.container.mapper.BasicContainerDescMapper;
+import org.springblade.client.container.mapper.BasicContainerTypeDescMapper;
+import org.springblade.client.container.mapper.BasicContainerTypeMapper;
+import org.springblade.client.container.service.BasicContainerDescService;
+import org.springblade.client.container.service.BasicContainerTypeService;
+import org.springblade.client.dto.BasicContainerDescDTO;
+import org.springblade.client.entity.BasicContainerDesc;
+import org.springblade.client.entity.BasicContainerType;
+import org.springblade.client.entity.BasicContainerTypeDesc;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.core.secure.utils.SecureUtil;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.validation.constraints.NotBlank;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+
+
+
+
+@Service
+public class BasicContainerDescServiceImpl extends BaseServiceImpl<BasicContainerDescMapper, BasicContainerDesc> implements BasicContainerDescService
+{
+    @Autowired
+	private BasicContainerDescMapper basicContainerDescMapper;
+    @Autowired
+	private BasicContainerTypeDescMapper basicContainerTypeDescMapper;
+
+	@Override
+	public IPage<BasicContainerDescDTO> listBasicContainerDesc(Page<BasicContainerDescDTO> page, String containerName, String code, String status) {
+		return basicContainerDescMapper.listBasicContainerDesc(page,containerName,code,status);
+	}
+
+	@Override
+	@Transactional
+	public void addBasicContainerDesc(BasicContainerDescDTO dto)
+	{
+		 //集装箱类型id
+		 Long typeId = dto.getTypeId();
+
+		 BasicContainerDesc target=new BasicContainerDesc();
+		 BeanUtils.copyProperties(dto,target);
+		 target.setCreateTime(new Date());
+		 target.setCreateUser(SecureUtil.getUserId());
+		 target.setCreateUserName(SecureUtil.getUser().getRoleName());
+		 basicContainerDescMapper.insert(target);
+
+		 BasicContainerTypeDesc middle=new BasicContainerTypeDesc();
+		 middle.setContainerId(target.getId());
+		 middle.setContainerTypeId(typeId);
+		 middle.setCreateTime(new Date());
+		 middle.setCreateUser(SecureUtil.getUserId());
+		 middle.setCreateUserName(SecureUtil.getUser().getRoleName());
+		 basicContainerTypeDescMapper.insert(middle);
+	}
+}

+ 18 - 0
blade-service/blade-client/src/main/java/org/springblade/client/container/service/imp/BasicContainerTypeDescServiceImpl.java

@@ -0,0 +1,18 @@
+package org.springblade.client.container.service.imp;
+
+import org.springblade.client.container.mapper.BasicContainerDescMapper;
+import org.springblade.client.container.mapper.BasicContainerTypeDescMapper;
+import org.springblade.client.container.service.BasicContainerDescService;
+import org.springblade.client.container.service.BasicContainerTypeDescService;
+import org.springblade.client.entity.BasicContainerDesc;
+import org.springblade.client.entity.BasicContainerType;
+import org.springblade.client.entity.BasicContainerTypeDesc;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springframework.stereotype.Service;
+
+
+@Service
+public class BasicContainerTypeDescServiceImpl extends BaseServiceImpl<BasicContainerTypeDescMapper, BasicContainerTypeDesc> implements BasicContainerTypeDescService
+{
+
+}

+ 22 - 0
blade-service/blade-client/src/main/java/org/springblade/client/container/service/imp/BasicContainerTypeServiceImpl.java

@@ -0,0 +1,22 @@
+package org.springblade.client.container.service.imp;
+
+import org.springblade.client.container.mapper.BasicContainerTypeMapper;
+import org.springblade.client.container.service.BasicContainerTypeService;
+import org.springblade.client.entity.BasicContainerType;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+
+
+
+
+@Service
+public class BasicContainerTypeServiceImpl extends BaseServiceImpl<BasicContainerTypeMapper, BasicContainerType> implements BasicContainerTypeService
+{
+
+
+}

+ 165 - 0
blade-service/blade-client/src/main/java/org/springblade/client/port/controller/PortController.java

@@ -0,0 +1,165 @@
+package org.springblade.client.port.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.undertow.attribute.SubstituteEmptyWrapper;
+import lombok.AllArgsConstructor;
+import oracle.jdbc.proxy.annotation.Post;
+import org.apache.commons.lang.StringUtils;
+import org.springblade.client.container.service.BasicContainerDescService;
+import org.springblade.client.container.service.BasicContainerTypeService;
+import org.springblade.client.dto.BasicPortDescDTO;
+import org.springblade.client.entity.BasicPortDesc;
+import org.springblade.client.entity.BasicPortType;
+import org.springblade.client.port.service.BasicPortDescService;
+import org.springblade.client.port.service.BasicPortTypeDescService;
+import org.springblade.client.port.service.BasicPortTypeService;
+import org.springblade.core.secure.utils.SecureUtil;
+import org.springblade.core.tenant.annotation.NonDS;
+import org.springblade.core.tool.api.R;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.CollectionUtils;
+import org.springframework.web.bind.annotation.*;
+import springfox.documentation.annotations.ApiIgnore;
+
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
+
+@NonDS
+@ApiIgnore
+@RestController
+@RequestMapping("/port")
+@AllArgsConstructor
+public class PortController
+{
+    @Autowired
+	private BasicPortDescService basicPortDescService;
+    @Autowired
+	private BasicPortTypeService basicPortTypeService;
+    @Autowired
+	private BasicPortTypeDescService midBasicPortTypeDescService;
+    @Autowired
+	private BasicContainerDescService basicContainerDescService;
+    @Autowired
+	private BasicContainerTypeService basicContainerTypeService;
+
+	@GetMapping("list")
+	public R list(@RequestParam(name = "current", defaultValue = "1") Integer current,
+				  @RequestParam(name = "size", defaultValue = "10") Integer size,
+				  @RequestParam(name = "name", required = false) String name,
+				  @RequestParam(name = "lines", required = false) String lines,
+				  @RequestParam(name = "unCode", required = false) String unCode,
+				  @RequestParam(name = "status", required = false) String status)
+	{
+		Page<BasicPortDescDTO> page=new Page<>(current,size);
+		IPage<BasicPortDescDTO> iPage = basicPortDescService.listBasicPortDesc(page, name, lines, unCode, status);
+		return R.data(iPage);
+	}
+
+    @PostMapping("add")
+	public R add (@RequestBody BasicPortDescDTO dto)
+	{
+		dto.setCreateTime(new Date());
+		dto.setCreateUser(SecureUtil.getUserId());
+		dto.setCreateUserName(SecureUtil.getUser().getRoleName());
+		basicPortDescService.addBasicPortDesc(dto);
+        return R.success("操作成功");
+	}
+
+	@PutMapping("edit")
+	public R edit( @RequestBody BasicPortDesc body )
+	{
+		body.setUpdateTime(new Date());
+		body.setUpdateUser(SecureUtil.getUserId());
+		body.setUpdateUserName(SecureUtil.getUser().getRoleName());
+		basicPortDescService.updateById(body);
+		return R.success("操作成功");
+	}
+
+	@DeleteMapping("delete")
+    public R delete(@RequestParam(name = "id", required = true) Long id)
+	{
+		List<Long> ids= Arrays.asList(id);
+		basicPortDescService.deleteLogic(ids);
+		return R.success("操作成功");
+	}
+
+	@GetMapping("type/list")
+	public R typeList(@RequestParam(name = "current", defaultValue = "1") Integer current,
+					  @RequestParam(name = "size", defaultValue = "10") Integer size,
+					  @RequestParam(name = "parentId", required = false) Long parentId)
+
+	{
+		LambdaQueryWrapper<BasicPortType> typeLambdaQueryWrapper=new LambdaQueryWrapper<>();
+		typeLambdaQueryWrapper
+			.eq(parentId!=null,BasicPortType::getParentId,parentId)
+		    .orderByDesc(BasicPortType::getCreateTime);
+		Page<BasicPortType> page=new Page<>(current,size);
+		IPage<BasicPortType> iPage=basicPortTypeService.page(page,typeLambdaQueryWrapper);
+		List<BasicPortType> records = iPage.getRecords();
+		if(!CollectionUtils.isEmpty(records))
+		{
+			records.forEach(e->{
+				LambdaQueryWrapper<BasicPortType> basicPortTypeLambdaQueryWrapper=new LambdaQueryWrapper<>();
+				basicPortTypeLambdaQueryWrapper.eq(BasicPortType::getParentId,e.getId());
+				int count = basicPortTypeService.count(basicPortTypeLambdaQueryWrapper);
+				e.setHasChildren(count>0?true:false);
+			});
+		}
+
+		return R.data(iPage);
+	}
+
+	@GetMapping("getPortTypeList")
+	public List<BasicPortType> getPortTypeList( @RequestParam(name = "pid", required = false) Long pid)
+	{
+		LambdaQueryWrapper<BasicPortType> lambdaQueryWrapper=new LambdaQueryWrapper<>();
+		lambdaQueryWrapper.eq(pid!=null,BasicPortType::getParentId,pid);
+		List<BasicPortType> typeList = basicPortTypeService.list(lambdaQueryWrapper);
+		if(!CollectionUtils.isEmpty(typeList))
+		{
+			typeList.forEach(e->{
+				LambdaQueryWrapper<BasicPortType> basicPortTypeLambdaQueryWrapper=new LambdaQueryWrapper<>();
+				basicPortTypeLambdaQueryWrapper.eq(BasicPortType::getParentId,e.getId());
+				int count = basicPortTypeService.count(basicPortTypeLambdaQueryWrapper);
+				e.setHasChildren(count>0?true:false);
+			});
+		}
+		return typeList;
+	}
+
+	@PostMapping("type/add")
+	public R typeList(@RequestBody BasicPortType portType )
+	{
+		portType.setCreateTime(new Date());
+		portType.setCreateUser(SecureUtil.getUserId());
+		portType.setCreateUserName(SecureUtil.getUser().getRoleName());
+		basicPortTypeService.save(portType);
+		return R.success("操作成功");
+	}
+
+	@PutMapping("type/edit")
+	public R typeEdit(@RequestBody BasicPortType portType)
+	{
+		portType.setUpdateTime(new Date());
+		portType.setUpdateUser(SecureUtil.getUserId());
+		portType.setUpdateUserName(SecureUtil.getUser().getRoleName());
+		basicPortTypeService.updateById(portType);
+		return R.success("操作成功");
+	}
+
+	@DeleteMapping("type/delete")
+	public R  typeDelet(@RequestParam(name = "id", required = true) Long id)
+	{
+		List<Long> ids= Arrays.asList(id);
+		basicPortTypeService.deleteLogic(ids);
+		return R.success("操作成功");
+	}
+
+
+
+
+}

+ 23 - 0
blade-service/blade-client/src/main/java/org/springblade/client/port/mapper/BasicPortDescMapper.java

@@ -0,0 +1,23 @@
+package org.springblade.client.port.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Param;
+import org.springblade.client.dto.BasicPortDescDTO;
+import org.springblade.client.entity.BasicContainerDesc;
+import org.apache.ibatis.annotations.Mapper;
+import org.springblade.client.entity.BasicPortDesc;
+
+/**
+ *
+ *
+ * @author castiel
+ * @email sunlightcs@gmail.com
+ * @date 2021-10-29 10:50:06
+ */
+@Mapper
+public interface BasicPortDescMapper extends BaseMapper<BasicPortDesc>
+{
+   IPage<BasicPortDescDTO> listBasicPortDesc(Page<BasicPortDescDTO> page, @Param("portName") String portName, @Param("lines")String lines,@Param("unCode") String unCode,@Param("status") String status);
+}

+ 57 - 0
blade-service/blade-client/src/main/java/org/springblade/client/port/mapper/BasicPortDescMapper.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.springblade.client.port.mapper.BasicPortDescMapper">
+
+    <select id="listBasicPortDesc" resultType="org.springblade.client.dto.BasicPortDescDTO">
+
+    SELECT
+	b.id as id,
+	b.`code` as code,
+	b.`name` as `name`,
+	b.en_name as enName,
+	b.un_code as unCode,
+	b.country as country,
+	b.province as province,
+	b.city as city,
+	b.`line` as `line`,
+	b.remarks as remarks,
+	b.create_user as createUser,
+	b.create_time as createTime,
+	b.update_user as updateUser,
+	b.update_time as updateTime,
+	b.update_user_name as updateUserName,
+	b.create_user_name as createUserName,
+	b.`status` as `status`,
+	a.`name` as typeName
+FROM
+	basic_port_type a,
+	basic_port_desc b,
+	basic_port_type_desc c
+WHERE
+	a.id = c.ports_type_id
+	AND b.id = c.ports_id
+    and b.is_deleted=0
+        <if test="portName != null and portName != ''">
+            AND b.`name` LIKE CONCAT('%',#{portName,jdbcType=VARCHAR},'%')
+        </if>
+        <if test="lines != null and lines != ''">
+            AND b.`lines`=#{lines}
+        </if>
+        <if test="unCode != null and unCode != ''">
+            AND b.un_code=#{unCode}
+        </if>
+        <if test="status != null and status != ''">
+            AND b.status in
+            (
+                <foreach item="item" index="index" collection="status.split(',')" open="(" separator="," close=")">
+                '${item}'
+                </foreach>
+            )
+        </if>
+
+
+
+    </select>
+
+</mapper>

+ 19 - 0
blade-service/blade-client/src/main/java/org/springblade/client/port/mapper/BasicPortTypeDescMapper.java

@@ -0,0 +1,19 @@
+package org.springblade.client.port.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springblade.client.entity.BasicContainerDesc;
+import org.apache.ibatis.annotations.Mapper;
+import org.springblade.client.entity.BasicPortTypeDesc;
+
+/**
+ *
+ *
+ * @author castiel
+ * @email sunlightcs@gmail.com
+ * @date 2021-10-29 10:50:06
+ */
+@Mapper
+public interface BasicPortTypeDescMapper extends BaseMapper<BasicPortTypeDesc>
+{
+
+}

+ 19 - 0
blade-service/blade-client/src/main/java/org/springblade/client/port/mapper/BasicPortTypeMapper.java

@@ -0,0 +1,19 @@
+package org.springblade.client.port.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springblade.client.entity.BasicContainerDesc;
+import org.apache.ibatis.annotations.Mapper;
+import org.springblade.client.entity.BasicPortType;
+
+/**
+ *
+ *
+ * @author castiel
+ * @email sunlightcs@gmail.com
+ * @date 2021-10-29 10:50:06
+ */
+@Mapper
+public interface BasicPortTypeMapper extends BaseMapper<BasicPortType>
+{
+
+}

+ 24 - 0
blade-service/blade-client/src/main/java/org/springblade/client/port/service/BasicPortContainerService.java

@@ -0,0 +1,24 @@
+package org.springblade.client.port.service;
+
+
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Param;
+import org.springblade.client.dto.BasicContainerDescDTO;
+import org.springblade.client.dto.BasicPortDescDTO;
+import org.springblade.client.entity.BasicContainerDesc;
+import org.springblade.client.entity.BasicPortDesc;
+import org.springblade.core.mp.base.BaseService;
+
+/**
+ *
+ *
+ * @author castiel
+ * @email sunlightcs@gmail.com
+ * @date 2021-10-29 10:50:06
+ */
+public interface BasicPortContainerService extends BaseService<BasicContainerDesc>
+{
+	IPage<BasicContainerDescDTO> listBasicContainerDesc(Page<BasicContainerDescDTO> page, String containerName, String code,  String status);
+}

+ 27 - 0
blade-service/blade-client/src/main/java/org/springblade/client/port/service/BasicPortDescService.java

@@ -0,0 +1,27 @@
+package org.springblade.client.port.service;
+
+
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springblade.client.dto.BasicPortDescDTO;
+import org.springblade.client.entity.BasicContainerDesc;
+import org.springblade.client.entity.BasicPortDesc;
+import org.springblade.core.mp.base.BaseService;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ *
+ *
+ * @author castiel
+ * @email sunlightcs@gmail.com
+ * @date 2021-10-29 10:50:06
+ */
+public interface BasicPortDescService extends BaseService<BasicPortDesc>
+{
+    IPage<BasicPortDescDTO> listBasicPortDesc(Page<BasicPortDescDTO> page,String portName,String lines,String unCode,String status );
+
+    void addBasicPortDesc(BasicPortDescDTO dto);
+}

+ 21 - 0
blade-service/blade-client/src/main/java/org/springblade/client/port/service/BasicPortTypeDescService.java

@@ -0,0 +1,21 @@
+package org.springblade.client.port.service;
+
+import org.springblade.client.entity.BasicPortDesc;
+import org.springblade.client.entity.BasicPortTypeDesc;
+import org.springblade.core.mp.base.BaseService;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ *
+ *
+ * @author castiel
+ * @email sunlightcs@gmail.com
+ * @date 2021-10-29 10:50:06
+ */
+public interface BasicPortTypeDescService extends BaseService<BasicPortTypeDesc>
+{
+
+
+}

+ 23 - 0
blade-service/blade-client/src/main/java/org/springblade/client/port/service/BasicPortTypeService.java

@@ -0,0 +1,23 @@
+package org.springblade.client.port.service;
+
+
+
+import org.springblade.client.entity.BasicPortType;
+import org.springblade.client.entity.BasicPortTypeDesc;
+import org.springblade.core.mp.base.BaseService;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ *
+ *
+ * @author castiel
+ * @email sunlightcs@gmail.com
+ * @date 2021-10-29 10:50:06
+ */
+public interface BasicPortTypeService extends BaseService<BasicPortType>
+{
+
+
+}

+ 72 - 0
blade-service/blade-client/src/main/java/org/springblade/client/port/service/impl/BasicPortDescServiceImpl.java

@@ -0,0 +1,72 @@
+package org.springblade.client.port.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springblade.client.container.mapper.BasicContainerDescMapper;
+import org.springblade.client.container.service.BasicContainerDescService;
+import org.springblade.client.dto.BasicPortDescDTO;
+import org.springblade.client.entity.BasicContainerDesc;
+import org.springblade.client.entity.BasicPortDesc;
+import org.springblade.client.entity.BasicPortType;
+import org.springblade.client.entity.BasicPortTypeDesc;
+import org.springblade.client.port.mapper.BasicPortDescMapper;
+import org.springblade.client.port.mapper.BasicPortTypeDescMapper;
+import org.springblade.client.port.mapper.BasicPortTypeMapper;
+import org.springblade.client.port.service.BasicPortDescService;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.core.secure.utils.SecureUtil;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.validation.constraints.NotBlank;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+
+
+
+
+@Service
+public class BasicPortDescServiceImpl extends BaseServiceImpl<BasicPortDescMapper, BasicPortDesc> implements BasicPortDescService
+{
+   @Autowired
+   private BasicPortDescMapper basicPortDescMapper;
+   @Autowired
+   private BasicPortTypeMapper basicPortTypeMapper;
+   @Autowired
+   private BasicPortTypeDescMapper basicPortTypeDescMapper;
+
+	@Override
+	public IPage<BasicPortDescDTO> listBasicPortDesc(Page<BasicPortDescDTO> page, String portName, String lines, String unCode, String status)
+	{
+		return	basicPortDescMapper.listBasicPortDesc(page,portName,lines,unCode,status);
+	}
+
+	@Override
+	@Transactional
+	public void addBasicPortDesc(BasicPortDescDTO dto)
+	{
+		//类型id
+		Long typeId = dto.getTypeId();
+		BasicPortDesc basicPortDesc=new BasicPortDesc();
+		BeanUtils.copyProperties(dto,basicPortDesc);
+		basicPortDesc.setCreateTime(new Date());
+		basicPortDesc.setCreateUser(SecureUtil.getUserId());
+		basicPortDesc.setCreateUserName(SecureUtil.getUser().getRoleName());
+
+		basicPortDescMapper.insert(basicPortDesc);
+
+		BasicPortTypeDesc middle=new BasicPortTypeDesc();
+		middle.setPortsId(basicPortDesc.getId());
+		middle.setPortsTypeId(typeId);
+		middle.setCreateTime(new Date());
+		middle.setCreateUser(SecureUtil.getUserId());
+		middle.setCreateUserName(SecureUtil.getUser().getRoleName());
+		basicPortTypeDescMapper.insert(middle);
+
+
+	}
+}

+ 25 - 0
blade-service/blade-client/src/main/java/org/springblade/client/port/service/impl/BasicPortTypeDescServiceImpl.java

@@ -0,0 +1,25 @@
+package org.springblade.client.port.service.impl;
+
+import org.springblade.client.entity.BasicPortDesc;
+import org.springblade.client.entity.BasicPortTypeDesc;
+import org.springblade.client.port.mapper.BasicPortDescMapper;
+import org.springblade.client.port.mapper.BasicPortTypeDescMapper;
+import org.springblade.client.port.service.BasicPortDescService;
+import org.springblade.client.port.service.BasicPortTypeDescService;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+
+
+
+
+@Service
+public class BasicPortTypeDescServiceImpl extends BaseServiceImpl<BasicPortTypeDescMapper, BasicPortTypeDesc> implements BasicPortTypeDescService
+{
+
+
+}

+ 24 - 0
blade-service/blade-client/src/main/java/org/springblade/client/port/service/impl/BasicPortTypeServiceImpl.java

@@ -0,0 +1,24 @@
+package org.springblade.client.port.service.impl;
+
+import org.springblade.client.entity.BasicPortDesc;
+import org.springblade.client.entity.BasicPortType;
+import org.springblade.client.port.mapper.BasicPortDescMapper;
+import org.springblade.client.port.mapper.BasicPortTypeMapper;
+import org.springblade.client.port.service.BasicPortDescService;
+import org.springblade.client.port.service.BasicPortTypeService;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+
+
+
+
+@Service
+public class BasicPortTypeServiceImpl extends BaseServiceImpl<BasicPortTypeMapper, BasicPortType> implements BasicPortTypeService
+{
+
+}

+ 16 - 4
blade-service/blade-project/src/main/java/org/springblade/project/controller/ProjectController.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import lombok.AllArgsConstructor;
 import org.apache.commons.lang.StringUtils;
+import org.springblade.client.feign.ICorpsDescClient;
 import org.springblade.core.log.exception.ServiceException;
 import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.core.tenant.annotation.NonDS;
@@ -23,7 +24,9 @@ import org.springframework.web.bind.annotation.*;
 import springfox.documentation.annotations.ApiIgnore;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import java.util.Arrays;
+import java.util.Date;
 import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 @NonDS
@@ -40,6 +43,9 @@ public class ProjectController {
 	private ServiceProjectFilesService serviceProjectFilesService;
     @Autowired
 	private IUserClient userClient;
+    @Autowired
+	private ICorpsDescClient corpsDescClient;//获取客户信息
+
 	@GetMapping("/list")
 	public R<IPage<?>> list(@RequestParam(name = "current", defaultValue = "1") Integer current,
 							@RequestParam(name = "size", defaultValue = "10") Integer size,
@@ -65,10 +71,10 @@ public class ProjectController {
 		IPage<ServiceProject> iPage = serviceProjectService.page(page, serviceProjectLambdaQueryWrapper);
 		List<ServiceProject> records = iPage.getRecords();
 		//检查是否可以删除主表,没有字表信息 或者 字表status全部为0 就可以删除
-		LambdaQueryWrapper<ServiceProjectItem> lambdaQueryWrapper=new LambdaQueryWrapper<>();
 		if(flag==0)
 		{
 			records.forEach(k->{
+				LambdaQueryWrapper<ServiceProjectItem> lambdaQueryWrapper=new LambdaQueryWrapper<>();
 				lambdaQueryWrapper
 					.eq(ServiceProjectItem::getIsDeleted,0)
 					.eq(ServiceProjectItem::getPId,k.getId())
@@ -85,7 +91,7 @@ public class ProjectController {
 		if(flag==1)
 		{
 			records.forEach(e->{
-
+				LambdaQueryWrapper<ServiceProjectItem> lambdaQueryWrapper=new LambdaQueryWrapper<>();
 				lambdaQueryWrapper
 					.ge(ServiceProjectItem::getStatus,2)
 					.eq(ServiceProjectItem::getIsDeleted,0)
@@ -125,7 +131,12 @@ public class ProjectController {
 		LambdaQueryWrapper<ServiceProjectItem> itemServiceLambdaQueryWrapper=new LambdaQueryWrapper<>();
 		itemServiceLambdaQueryWrapper.in(ServiceProjectItem::getStatus,status).eq(ServiceProjectItem::getPId,id).eq(ServiceProjectItem::getIsDeleted,0);
 		List<ServiceProjectItem> serviceProjectItems = serviceProjectItemService.list(itemServiceLambdaQueryWrapper);
-
+		if (serviceProject.getCorpId() != null){
+			R<List<Map<String,Object>>> corpMessage = corpsDescClient.getCorpsMessage(serviceProject.getCorpId().toString());
+			if (corpMessage.isSuccess() && corpMessage.getData() != null){
+				serviceProject.setCorpName(corpMessage.getData());
+			}
+		}
 		LambdaQueryWrapper<ServiceProjectFiles> filesLambdaQueryWrapper=new LambdaQueryWrapper<>();
 		filesLambdaQueryWrapper.eq(ServiceProjectFiles::getPId,id).eq(ServiceProjectFiles::getIsDeleted,0);
 		List<ServiceProjectFiles> filesList = serviceProjectFilesService.list(filesLambdaQueryWrapper);
@@ -157,10 +168,11 @@ public class ProjectController {
 		          ,@RequestParam(name = "status", required = true) int status
 		          ,@RequestParam(name = "accountName", required = false) String accountName
 		          ,@RequestParam(name = "accountBank", required = false) String accountBank
+		          ,@RequestParam(name = "payTime", required = false) Date payTime
 		          ,@RequestParam(name = "accountNo", required = false) String accountNo
 	               )
 	{
-		    serviceProjectService.updateItemStatus(itemId,status,accountName,accountBank, accountNo);
+		    serviceProjectService.updateItemStatus(itemId,status,accountName,accountBank, accountNo,payTime);
 			return R.success("操作完成");
 	}
 

+ 3 - 1
blade-service/blade-project/src/main/java/org/springblade/project/service/ServiceProjectService.java

@@ -9,6 +9,8 @@ import org.springblade.core.tool.api.R;
 import org.springblade.project.entity.ServiceProject;
 import org.springblade.project.entity.ServiceProjectItem;
 
+import javax.xml.crypto.Data;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -25,6 +27,6 @@ public interface ServiceProjectService extends BaseService<ServiceProject>
 
     R getSysNo();
 
-    void updateItemStatus(Long itemId,int status,String accountName,String accountBank,String accountNo);
+    void updateItemStatus(Long itemId, int status, String accountName, String accountBank, String accountNo, Date payTime);
 
 }

+ 33 - 29
blade-service/blade-project/src/main/java/org/springblade/project/service/impl/ServiceProjectServiceImpl.java

@@ -125,27 +125,31 @@ public class ServiceProjectServiceImpl extends BaseServiceImpl<ServiceProjectMap
 			  });
 
 			  //判断文件列表新增或者修改操作
-			  filesList.forEach(ls->{
-				  //修改
-				  if(null!=ls.getId())
-				  {
-					  ls.setUpdateUser(SecureUtil.getUserId());
-					  ls.setUpdateTime(new Date());
-					  ls.setUpdateUserName(SecureUtil.getUser().getRoleName());
-					  serviceProjectFilesMapper.updateById(ls);
-				  }
-				  //新增
-				  else
-				  {
-					  ls.setPId(serviceProject.getId());
-					  ls.setCreateTime(new Date());
-					  ls.setCreateUser(SecureUtil.getUserId());
-					  String deptId = SecureUtil.getDeptId();
-					  ls.setCreateDept(StringUtils.isNoneBlank(deptId)?Long.valueOf(deptId):-1);
-					  ls.setCreateUserName(SecureUtil.getUser().getRoleName());
-					  serviceProjectFilesMapper.insert(ls);
-				  }
-			  });
+			  if(!CollectionUtils.isEmpty(filesList))
+			  {
+				  filesList.forEach(ls->{
+					  //修改
+					  if(null!=ls.getId())
+					  {
+						  ls.setUpdateUser(SecureUtil.getUserId());
+						  ls.setUpdateTime(new Date());
+						  ls.setUpdateUserName(SecureUtil.getUser().getRoleName());
+						  serviceProjectFilesMapper.updateById(ls);
+					  }
+					  //新增
+					  else
+					  {
+						  ls.setPId(serviceProject.getId());
+						  ls.setCreateTime(new Date());
+						  ls.setCreateUser(SecureUtil.getUserId());
+						  String deptId = SecureUtil.getDeptId();
+						  ls.setCreateDept(StringUtils.isNoneBlank(deptId)?Long.valueOf(deptId):-1);
+						  ls.setCreateUserName(SecureUtil.getUser().getRoleName());
+						  serviceProjectFilesMapper.insert(ls);
+					  }
+				  });
+			  }
+
 
 
 			  //查询原来的子项集合 与 传入的子项进行比较, 判断是否删除
@@ -213,12 +217,15 @@ public class ServiceProjectServiceImpl extends BaseServiceImpl<ServiceProjectMap
 	}
 
 	@Override
-	public void updateItemStatus(Long itemId, int status,String accountName,String accountBank,String accountNo)
+	@Transactional
+	public void updateItemStatus(Long itemId, int status,String accountName,String accountBank,String accountNo,Date payTime)
 	{
 		ServiceProjectItem serviceProjectItem = serviceProjectItemMapper.selectById(itemId);
 		serviceProjectItem.setAccountBank(accountBank);
 		serviceProjectItem.setAccountName(accountName);
 		serviceProjectItem.setAccountNo(accountNo);
+		serviceProjectItem.setUpdateTime(new Date());
+		serviceProjectItem.setUpdateUser(SecureUtil.getUserId());
 		if(serviceProjectItem==null)
 		{
 			throw new RuntimeException("请确认传入id正确");
@@ -237,6 +244,7 @@ public class ServiceProjectServiceImpl extends BaseServiceImpl<ServiceProjectMap
 		//明细已结算之后, 修改主表的已收款项 和 未收款项
 		else if(status==5)
 		{
+			serviceProjectItem.setPayTime(payTime);
 
 			ServiceProject targetServiceProject = serviceProjectMapper.selectById(serviceProjectItem.getPId());
 			//主表已收款项增加
@@ -263,20 +271,16 @@ public class ServiceProjectServiceImpl extends BaseServiceImpl<ServiceProjectMap
 			targetServiceProject.setUpdateUserName(SecureUtil.getUser().getRoleName());
 			serviceProjectMapper.updateById(targetServiceProject);
 		}
-		ServiceProjectItem updateModel=new ServiceProjectItem();
-		updateModel.setId(itemId);
-		updateModel.setUpdateTime(new Date());
-		updateModel.setUpdateUser(SecureUtil.getUserId());
 		//status=6代表撤回, item状态回到4
 		if(status==6)
 		{
-			updateModel.setStatus(4);
+			serviceProjectItem.setStatus(4);
 		}
 		else
 		{
-			updateModel.setStatus(status);
+			serviceProjectItem.setStatus(status);
 		}
-		serviceProjectItemMapper.updateById(updateModel);
+		serviceProjectItemMapper.updateById(serviceProjectItem);
 
 	}