Browse Source

2023-10-13 plm提交

master
杨奉源 2 years ago
parent
commit
bde96bd998
  1. 55
      src/main/java/com/spring/modules/part/controller/PartInformationController.java
  2. 118
      src/main/java/com/spring/modules/part/entity/PartInformationEntity.java
  3. 16
      src/main/java/com/spring/modules/part/mapper/PartInformationMapper.java
  4. 11
      src/main/java/com/spring/modules/part/service/PartInformationService.java
  5. 60
      src/main/java/com/spring/modules/part/service/impl/PartInformationServiceImpl.java
  6. 42
      src/main/java/com/spring/modules/part/vo/PartInformationVo.java
  7. 115
      src/main/resources/mapper/part/PartInformationMapper.xml

55
src/main/java/com/spring/modules/part/controller/PartInformationController.java

@ -0,0 +1,55 @@
package com.spring.modules.part.controller;
import com.spring.common.utils.PageUtils;
import com.spring.common.utils.R;
import com.spring.modules.part.entity.PartInformationEntity;
import com.spring.modules.part.service.PartInformationService;
import com.spring.modules.part.vo.PartInformationVo;
import com.spring.modules.quotation.entity.QuotationInformationEntity;
import com.spring.modules.quotation.vo.QuotationInformationVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* @description: 材料信息
* @author: fengyuan_yang
* @date: 2023/10/16 10:51
* @param:
* @return:
**/
@RestController
@RequestMapping("plm/partInformation")
public class PartInformationController {
@Autowired
private PartInformationService partInformationService;
/**
* @description: 材料信息列表
* @author: fengyuan_yang
* @date: 2023/10/16 10:53
* @param: [data]
* @return: com.spring.common.utils.R
**/
@PostMapping(value="/partInformationSearch")
@ResponseBody
public R partInformationSearch(@RequestBody PartInformationVo data) {
PageUtils page = partInformationService.partInformationSearch(data);
return R.ok().put("page", page);
}
/**
* @description: 材料信息新增
* @author: fengyuan_yang
* @date: 2023/10/17 10:57
* @param: [data]
* @return: com.spring.common.utils.R
**/
@PostMapping(value="/partInformationSave")
@ResponseBody
public R partInformationSave(@RequestBody PartInformationEntity data) {
partInformationService.partInformationSave(data);
return R.ok();
}
}

118
src/main/java/com/spring/modules/part/entity/PartInformationEntity.java

@ -0,0 +1,118 @@
package com.spring.modules.part.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.spring.common.utils.QueryPage;
import com.spring.modules.quotation.entity.QuotationInformationEntity;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
@Data
@TableName("part")
public class PartInformationEntity extends QueryPage implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 工厂
**/
private String site;
/**
* 物料编码
**/
private String partNo;
/**
* 物料描述
**/
private String partDesc;
/**
* 规格型号
**/
private String spec;
/**
* 物料类型数据
**/
private String partTypeDb;
/**
* 物料类型
**/
private String partType;
/**
* 分类一
**/
private String familyId;
/**
* 分类二
**/
private String groupId;
/**
* 计量单位
**/
private String umId;
/**
* 是否在用
**/
private String active;
/**
* 备注
**/
private String remark;
/**
* 供应商编码
**/
private String supplierId;
/**
* 商品组1
**/
private String otherGroup1;
/**
* 商品组2
**/
private String otherGroup2;
/**
* 商品组3
**/
private String otherGroup3;
/**
* 商品组4
**/
private String otherGroup4;
/**
* erp物料编码
**/
private String erpPartNo;
/**
* 属性模板
**/
private String codeNo;
/**
* 制造商编码
**/
private String manufacturerId;
/**
* 创建时间
**/
@TableField(fill = FieldFill.INSERT)
private Date createDate;
/**
* 创建人
**/
private String createBy;
/**
* 更新时间
**/
@TableField(fill = FieldFill.UPDATE)
private Date updateDate;
/**
* 更新人
**/
private String updateBy;
/**
* 数据集
*/
@TableField(exist = false)
private List<QuotationInformationEntity> informationList;
}

16
src/main/java/com/spring/modules/part/mapper/PartInformationMapper.java

@ -0,0 +1,16 @@
package com.spring.modules.part.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.spring.modules.part.entity.PartInformationEntity;
import com.spring.modules.part.vo.PartInformationVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface PartInformationMapper extends BaseMapper<PartInformationEntity> {
IPage<PartInformationVo> partInformationSearch(Page<PartInformationVo> partInformationVoPage, @Param("query") PartInformationVo data);
String getPartNo(PartInformationEntity data);
}

11
src/main/java/com/spring/modules/part/service/PartInformationService.java

@ -0,0 +1,11 @@
package com.spring.modules.part.service;
import com.spring.common.utils.PageUtils;
import com.spring.modules.part.entity.PartInformationEntity;
import com.spring.modules.part.vo.PartInformationVo;
public interface PartInformationService {
PageUtils partInformationSearch(PartInformationVo data);
void partInformationSave(PartInformationEntity data);
}

60
src/main/java/com/spring/modules/part/service/impl/PartInformationServiceImpl.java

@ -0,0 +1,60 @@
package com.spring.modules.part.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.spring.common.utils.PageUtils;
import com.spring.modules.oss.dao.SysOssDao;
import com.spring.modules.oss.service.SysOssService;
import com.spring.modules.part.entity.PartInformationEntity;
import com.spring.modules.part.mapper.PartInformationMapper;
import com.spring.modules.part.service.PartInformationService;
import com.spring.modules.part.vo.PartInformationVo;
import com.spring.modules.quotation.vo.QuotationInformationVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
@Service
public class PartInformationServiceImpl extends ServiceImpl<PartInformationMapper, PartInformationEntity> implements PartInformationService {
@Autowired
private PartInformationMapper partInformationMapper;
@Autowired
private SysOssService sysOssService;
@Autowired
private SysOssDao sysOssDao;
@Value("${sys-file.file-path}")
private String filePath;
/**
* @description: 材料信息列表
* @author: fengyuan_yang
* @date: 2023/10/16 10:54
* @param: [data]
* @return: com.spring.common.utils.PageUtils
**/
@Override
public PageUtils partInformationSearch(PartInformationVo data) {
IPage<PartInformationVo> resultList = this.partInformationMapper.partInformationSearch(new Page<PartInformationVo>(data.getPage(), data.getLimit()), data);
return new PageUtils(resultList);
}
/**
* @description: 材料信息新增
* @author: fengyuan_yang
* @date: 2023/10/17 10:57
* @param: [data]
* @return: void
**/
@Override
public void partInformationSave(PartInformationEntity data) {
// 获取材料编码
String partNo = partInformationMapper.getPartNo(data);
data.setPartNo("P" + partNo);
partInformationMapper.insert(data);
}
}

42
src/main/java/com/spring/modules/part/vo/PartInformationVo.java

@ -0,0 +1,42 @@
package com.spring.modules.part.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.spring.modules.part.entity.PartInformationEntity;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
@Data
public class PartInformationVo extends PartInformationEntity {
/**
* 类型名称
**/
private String familyName;
/**
* 分组名称
**/
private String groupName;
/**
* 供应商名称
**/
private String supplierName;
/**
* 制造商名称
**/
private String manufacturerName;
/**
* 要求完成日期(开始)
**/
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date startDate;
/**
* 要求完成日期(结束)
**/
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date endDate;
}

115
src/main/resources/mapper/part/PartInformationMapper.xml

@ -0,0 +1,115 @@
<?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="com.spring.modules.part.mapper.PartInformationMapper">
<!-- 材料信息列表 -->
<select id="partInformationSearch" parameterType="com.spring.modules.part.vo.PartInformationVo" resultType="com.spring.modules.part.vo.PartInformationVo">
SELECT
site,
part_no,
part_desc,
spec,
part_type_db,
part_type,
family_id,
dbo.get_family_name(site, family_id) as familyName,
group_id,
dbo.get_group_name(site, group_id) as groupName,
umid,
active,
supplier_id,
dbo.get_supplier_name(site, supplier_id) as supplierName,
other_group1,
other_group2,
other_group3,
other_group4,
erp_part_no,
code_no,
manufacturer_id,
dbo.get_manufacturer_name(site, supplier_id) as manufacturerName,
create_date,
create_by,
update_date,
update_by
FROM part
<where>
site = #{query.site}
<if test = "query.partNo != null and query.partNo != ''">
AND part_no like #{query.partNo}
</if>
<if test = "query.erpPartNo != null and query.erpPartNo != ''">
AND erp_part_no like #{query.erpPartNo}
</if>
<if test = "query.partDesc != null and query.partDesc != ''">
AND part_desc like #{query.partDesc}
</if>
<if test = "query.spec != null and query.spec != ''">
AND spec like #{query.spec}
</if>
<if test="query.startDate != null ">
AND required_completion_date >= #{query.startDate}
</if>
<if test="query.endDate != null ">
AND #{query.endDate} >= required_completion_date
</if>
</where>
</select>
<!-- 获取材料编码 -->
<select id="getPartNo" resultType="string" parameterType="PartInformationEntity">
SELECT
Right('0000000000' + convert(VARCHAR(10), isnull(max(convert(INT, SUBSTRING(part_no, 3, 10))), 0) + 1), 8)
FROM part
WHERE site = #{site}
</select>
<!--按照orderRef1查询文件文件参数-->
<select id="getFileContentList" resultType="SysOssEntity" parameterType="SysOssEntity">
SELECT
id,
url,
create_date,
file_name,
new_file_name,
create_by,
order_ref1,
order_ref2,
order_ref3,
file_type,
file_suffix,
file_type_code,
file_remark
FROM sys_oss
<where>
<if test="orderRef1 != '' and orderRef1 != null ">
and order_ref1 = #{orderRef1}
</if>
<if test="orderRef2 != '' and orderRef2 != null ">
and order_ref2 = #{orderRef2}
</if>
<if test="orderRef3 != '' and orderRef3 != null ">
and order_ref3 = #{orderRef3}
</if>
</where>
</select>
<!-- 获得报价单号 -->
<select id="getQuotationNo" resultType="string" parameterType="QuotationInformationEntity">
SELECT
Right('0000000000' + convert(VARCHAR(10), isnull(max(convert(INT, SUBSTRING(quotation_no, 3, 10))), 0) + 1), 8)
FROM plm_quotation_information
WHERE site = #{site}
</select>
<!-- 批量删除文件-->
<delete id="batchDeleteQuotationFile" parameterType="com.spring.modules.quotation.vo.SysOssVo">
DELETE FROM sys_oss
<where>
order_ref1 = #{orderRef1} and order_ref2 = #{orderRef2}
<if test = "fileName != null and fileName != ''">
AND file_name = #{fileName}
</if>
</where>
</delete>
</mapper>
Loading…
Cancel
Save