lxw
2022-09-09 04b38e5512e0e2995f066766c1de3fdbca98f807
附件锁定
4个文件已添加
4个文件已修改
169 ■■■■ 已修改文件
src/main/java/com/whyc/controller/AttachLockController.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/MaterialController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/mapper/AttachLockMapper.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/pojo/AttachLock.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/pojo/Material.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/AttachLockService.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/MaterialService.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/MaterialMapper.xml 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/AttachLockController.java
New file
@@ -0,0 +1,27 @@
package com.whyc.controller;
import com.whyc.dto.Response;
import com.whyc.pojo.AttachLock;
import com.whyc.service.AttachLockService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@Api(tags = "物料管理")
@RestController
@RequestMapping("attachLock")
public class AttachLockController {
    private AttachLockService service;
    @ApiOperation(value = "修改附件锁定状态")
    @PostMapping()
    public Response updateAttachLock(@RequestBody List<AttachLock> list){
        return service.attachLock(list);
    }
}
src/main/java/com/whyc/controller/MaterialController.java
@@ -61,11 +61,7 @@
    public Response getAttachByMaterialId(@RequestParam int materialId){
        return service.getAttachByMaterialId(materialId);
    }
    @ApiOperation(value = "根据物料id修改锁定的附件以及原因",notes = "9.3修改后使用")
    @GetMapping("updateAttachRecord")
    public Response updateAttachRecord(@RequestParam int materialId,@RequestParam String lockedFileNames,@RequestParam(required = false) String lockRecords){
        return service.updateAttachRecord(materialId,lockedFileNames,lockRecords);
    }
    @ApiOperation(value = "根据物料型号('-','_'之前的部分)查询物料的历史版本",notes = "9.3修改后使用")
    @GetMapping("getMaterialVersion")
src/main/java/com/whyc/mapper/AttachLockMapper.java
New file
@@ -0,0 +1,6 @@
package com.whyc.mapper;
import com.whyc.pojo.AttachLock;
public interface AttachLockMapper extends CustomMapper<AttachLock>{
}
src/main/java/com/whyc/pojo/AttachLock.java
New file
@@ -0,0 +1,23 @@
package com.whyc.pojo;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import java.io.Serializable;
@Data
@ToString
@AllArgsConstructor
@NoArgsConstructor
@TableName("tb_attach_lock")
@ApiModel(value="AttachLock", description="")
public class AttachLock implements Serializable {
    private int id;
    private int materialId;
    private String attachName;
    private int lockFlag;
    private String localReason;
}
src/main/java/com/whyc/pojo/Material.java
@@ -41,10 +41,6 @@
    private String     notes;
    private String     pictureUrl;
    private String     fileUrl;
    @ApiModelProperty("锁定的文件名称")
    private String lockedFilenames;
    @ApiModelProperty("单个文件名只保留最多一条锁定及解锁记录")
    private String lockRecords;
    @ApiModelProperty("上传人")
    private Long     upUserId;
    private Date    createDate;
@@ -63,6 +59,10 @@
    @TableField(exist = false)
    @ApiModelProperty(value = "包含物料编码的产品")
    private List<Product> products;
    @TableField(exist = false)
    @ApiModelProperty(value = "附件锁定信息")
    private List<AttachLock> attachLocks;
    public Integer getId() {
@@ -233,19 +233,11 @@
        this.products = products;
    }
    public String getLockedFilenames() {
        return lockedFilenames;
    public List<AttachLock> getAttachLocks() {
        return attachLocks;
    }
    public void setLockedFilenames(String lockedFilenames) {
        this.lockedFilenames = lockedFilenames;
    }
    public String getLockRecords() {
        return lockRecords;
    }
    public void setLockRecords(String lockRecords) {
        this.lockRecords = lockRecords;
    public void setAttachLocks(List<AttachLock> attachLocks) {
        this.attachLocks = attachLocks;
    }
}
src/main/java/com/whyc/service/AttachLockService.java
New file
@@ -0,0 +1,40 @@
package com.whyc.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.whyc.dto.Response;
import com.whyc.mapper.AttachLockMapper;
import com.whyc.pojo.AttachLock;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@Service
public class AttachLockService {
    @Autowired(required = false)
    private AttachLockMapper mapper;
    @Transactional
    public Response attachLock(List<AttachLock> list) {
        if(list!=null&&list.size()>0){}
            list.stream().forEach(attachLock -> {
                //1.查询是否存在该记录
                QueryWrapper qwrapper=new QueryWrapper();
                qwrapper.eq("material_id",attachLock.getMaterialId());
                qwrapper.eq("attach_name",attachLock.getAttachName());
                qwrapper.last("limit 1");
                AttachLock attach=mapper.selectOne(qwrapper);
                if(attach!=null){
                    UpdateWrapper uwrapper=new UpdateWrapper();
                    uwrapper.set("lock_flag",attachLock.getLockFlag());
                    uwrapper.set("local_reason",attachLock.getLocalReason());
                    mapper.update(null,uwrapper);
                }else{
                    mapper.insert(attachLock);
                }
            });
        return new Response().set(1,true,"");
    }
}
src/main/java/com/whyc/service/MaterialService.java
@@ -429,15 +429,5 @@
        return new Response().set(1,true,"上传完成");
    }
    //根据物料id修改锁定的附件以及原因
    public Response updateAttachRecord(int materialId, String lockedFileNames, String lockRecords) {
        UpdateWrapper wrapper=new UpdateWrapper();
        wrapper.eq("id",materialId);
        wrapper.set("locked_filenames",lockedFileNames);
        if(lockRecords!=null){
            wrapper.set("lock_records",lockRecords);
        }
        int flag=mapper.update(null,wrapper);
        return new Response().set(1,flag>0,"修改锁定");
    }
}
src/main/resources/mapper/MaterialMapper.xml
@@ -134,6 +134,17 @@
          and tb_material_product_history.s_version&lt;=#{version}
          and tb_material_product_history.e_version>=#{version}
    </select>-->
    <update id="updateDwgUrl">
        <foreach collection="list" item="item" separator=";">
            update db_doc.tb_material set dwg_url = #{item.notes} where sub_model = #{item.subModel}
        </foreach>
    </update>
    <update id="disableStatus">
        update db_doc.tb_material set status = 0 where sub_code in
        <foreach collection="list" item="item" separator="," open="(" close=")">
            #{item.subCode}
        </foreach>
    </update>
    <resultMap id="materialList" type="Material">
        <id property="id" column="id"></id>
        <result property="type" column="type"></result>
@@ -153,24 +164,13 @@
        <result property="createDate" column="create_date"></result>
        <result property="updateDate" column="update_date"></result>
        <result property="dwgUrl" column="dwg_url"></result>
        <result property="lockedFilenames" column="locked_filenames"></result>
        <result property="lockRecords" column="lock_records"></result>
        <collection property="mproductHistorys" javaType="java.util.ArrayList" ofType="com.whyc.pojo.MaterialProductHistory" column="{id=id}" select="selectMaterialProductHistory">
        </collection>
        <collection property="products" javaType="java.util.ArrayList" ofType="com.whyc.pojo.Product" column="{id=id}" select="selectMaterialInProduct">
        </collection>
        <collection property="attachLocks" javaType="java.util.ArrayList" ofType="com.whyc.pojo.AttachLock" column="{id=id}" select="selectAttachLock">
        </collection>
    </resultMap>
    <update id="updateDwgUrl">
        <foreach collection="list" item="item" separator=";">
            update db_doc.tb_material set dwg_url = #{item.notes} where sub_model = #{item.subModel}
        </foreach>
    </update>
    <update id="disableStatus">
        update db_doc.tb_material set status = 0 where sub_code in
        <foreach collection="list" item="item" separator="," open="(" close=")">
            #{item.subCode}
        </foreach>
    </update>
    <select id="getMaterialLimit" resultMap="materialList">
         select * from tb_Material
@@ -216,6 +216,11 @@
        and  p.version>=tb_material_product_history.s_version and  p.version&lt;=tb_material_product_history.e_version
        and tb_material_product_history.sub_material_id=#{id}
    </select>
    <select id="selectAttachLock"  resultType="com.whyc.pojo.AttachLock">
        select DISTINCT tb_attach_lock.*  FROM db_doc.tb_attach_loc
          where material_id=#{id}
    </select>
    <select id="getListByCodeList" resultType="java.lang.String">
        SELECT sub_code FROM db_doc.tb_material where sub_code in
        <foreach collection="list" item="code" separator="," open="(" close=")">