XiaoRuby
2023-09-05 b1ee044a6f0b6561fba149255432e0214c1884c3
MOM系统-9-05 三个不合格完成
已修改12个文件
已删除1个文件
361 ■■■■ 文件已修改
inspect-server/src/main/java/com/yuanchu/mom/controller/InspectUnacceptedController.java 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/controller/OpinionController.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/mapper/InspectUnacceptedMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/mapper/OpinionMapper.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/pojo/InspectUnaccepted.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/pojo/Opinion.java 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/InspectUnacceptedService.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/OpinionService.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InspectUnacceptedServiceImpl.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/impl/OpinionServiceImpl.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/resources/mapper/InspectUnacceptedMapper.xml 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/resources/mapper/OpinionMapper.xml 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
system-run/src/main/resources/application-dev.yml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/controller/InspectUnacceptedController.java
@@ -3,16 +3,24 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.pojo.Opinion;
import com.yuanchu.mom.service.OpinionService;
import com.yuanchu.mom.utils.JackSonUtil;
import com.yuanchu.mom.utils.Jwt;
import com.yuanchu.mom.utils.MyUtil;
import com.yuanchu.mom.utils.RedisUtil;
import com.yuanchu.mom.vo.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import com.yuanchu.mom.service.InspectUnacceptedService;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
@@ -28,6 +36,11 @@
    @Autowired
    private InspectUnacceptedService inspectUnacceptedService;
    @Autowired
    private Jwt jwt;
    @Autowired
    private OpinionService opinionService;
    @ApiOperation(value = "查询成品不合格品检验单列表", tags = "QMS管理-->不合格品管理")
    @ApiImplicitParams(value = {
@@ -79,7 +92,7 @@
            @ApiImplicitParam(name = "countSize",value = "条数/页",dataTypeClass  = Integer.class,required = true),
            @ApiImplicitParam(name = "specificationModel",value = "规格型号",dataTypeClass  = String.class),
            @ApiImplicitParam(name = "productName",value = "产品名称",dataTypeClass  = String.class),
            @ApiImplicitParam(name = "productCategories",value = "产品大类",dataTypeClass  = String.class),
            @ApiImplicitParam(name = "productCategories",value = "产品大类",dataTypeClass  = Integer.class),
            @ApiImplicitParam(name = "state",value = "状态",dataTypeClass  = Integer.class)
    })
    @GetMapping("/selectDisposal")
@@ -87,7 +100,7 @@
                                                   int countSize,
                                                   String specificationModel,
                                                   String productName,
                                                   String productCategories,
                                    Integer productCategories,
                                                   Integer state){
        IPage<Map<String, Object>> inspectionPage = inspectUnacceptedService.selectDisposal(
                new Page<Object>(pageSize, countSize),
@@ -100,5 +113,42 @@
        map.put("row", inspectionPage.getRecords());
        return Result.success(map);
    }
    @ApiOperation(value = "编辑意见-->确定按钮", tags = "QMS管理-->不合格品处置")
    @PostMapping("/addOpinion")
    public Result<?> updateOpinion(@RequestHeader("token") String token, @Validated @RequestBody List<Opinion> opinion) throws Exception {
        Map<String, String> data = JackSonUtil.unmarshal(jwt.readJWT(token).get("data"), Map.class);
        String id = data.get("id").replaceAll("\"", "");
        opinionService.updateOpinion(id, opinion);
        return Result.success();
    }
    @ApiOperation(value = "查看编辑意见", tags = "QMS管理-->不合格品处置")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "rawUnacceptedId",value = "不合格品处置Id",dataTypeClass  = Integer.class,required = true)
    })
    @GetMapping("/viewEditorial")
    public Result<?> viewEditorialComments(Integer rawUnacceptedId) {
        return Result.success(opinionService.viewEditorialComments(rawUnacceptedId));
    }
    @ApiOperation(value = "失焦更新现像描述", tags = "QMS管理-->不合格品处置")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "rawUnacceptedId",value = "不合格品处置Id",dataTypeClass  = Integer.class,required = true),
            @ApiImplicitParam(name = "tell",value = "现象描述",dataTypeClass  = Integer.class,required = true)
    })
    @GetMapping("/descriptionUpdate")
    public Result<?> descriptionUpdate(Integer rawUnacceptedId, String tell) {
        return Result.success(inspectUnacceptedService.descriptionUpdate(rawUnacceptedId, tell));
    }
    @ApiOperation(value = "点击编辑意见触发查询", tags = "QMS管理-->不合格品处置")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "rawUnacceptedId",value = "不合格品处置Id",dataTypeClass  = Integer.class,required = true)
    })
    @PostMapping("/clickEditing")
    public Result<?> clickEditingTriggerQuery(Integer rawUnacceptedId) {
        return Result.success(opinionService.clickEditingTriggerQuery(rawUnacceptedId));
    }
}
inspect-server/src/main/java/com/yuanchu/mom/controller/OpinionController.java
ÎļþÒÑɾ³ý
inspect-server/src/main/java/com/yuanchu/mom/mapper/InspectUnacceptedMapper.java
@@ -25,5 +25,7 @@
    void delAllRawIns(String ids);
    IPage<Map<String, Object>> selectUnqualifiedRawMaterials(Page<Object> page, String formTime, String productName, String supplier, Integer processingStatus);
    IPage<Map<String, Object>> selectDisposal(Page<Object> page, String specificationModel, String productName, Integer productCategories, Integer state);
}
inspect-server/src/main/java/com/yuanchu/mom/mapper/OpinionMapper.java
@@ -1,7 +1,11 @@
package com.yuanchu.mom.mapper;
import com.yuanchu.mom.mybatis_config.MyBaseMapper;
import com.yuanchu.mom.pojo.Opinion;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
import java.util.Map;
/**
 * <p>
@@ -11,6 +15,11 @@
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2023-08-07 01:54:28
 */
public interface OpinionMapper extends BaseMapper<Opinion> {
public interface OpinionMapper extends MyBaseMapper<Opinion> {
    List<Map<String, Object>> clickEditingTriggerQuery(Integer rawUnacceptedId);
    Integer updateOpinion(List<Opinion> opinion);
    List<Map<String, Object>> viewEditorialComments(Integer rawUnacceptedId);
}
inspect-server/src/main/java/com/yuanchu/mom/pojo/InspectUnaccepted.java
@@ -32,7 +32,7 @@
    @TableId(type = IdType.AUTO)
    private Integer id;
    @ApiModelProperty(value = "0:成品检验单;1:半成品检验单;2:原材料检验单")
    @ApiModelProperty(value = "0:成品检验单;半成品检验单;1:原材料检验单")
    private Integer type;
    /**
inspect-server/src/main/java/com/yuanchu/mom/pojo/Opinion.java
@@ -1,11 +1,20 @@
package com.yuanchu.mom.pojo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.*;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import reactor.util.annotation.NonNull;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
 * <p>
@@ -15,8 +24,11 @@
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2023-08-07 01:54:28
 */
@Getter
@Setter
@Data
@Accessors(chain = true)
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class Opinion implements Serializable {
    private static final long serialVersionUID = 1L;
@@ -24,40 +36,46 @@
    /**
     * æ„è§id
     */
    @ApiModelProperty(value = "id", required = true, example = "1")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    /**
     * éƒ¨é—¨ç±»åž‹ 0:技术部;1:生产部;2:质量部;3:总经办
     */
    @NotNull(message = "部门类型不能为空")
    @ApiModelProperty(value = "部门类型 0:技术部;1:生产部;2:质量部;3:总经办", hidden = true, example = "0")
    private Integer type;
    /**
     * å¤„理意见
     */
    @NotBlank(message = "处理意见不能为空!")
    @ApiModelProperty(value = "处理意见", required = true, example = "返工")
    private String tell;
    /**
     * å¤„理方式 æ ¼å¼[1,2,3] 0:返工;1:返修;2:让步接收;3:拒收;4:降级使用;5:报废
     */
    @NotBlank(message = "处理方式不能为空!")
    @ApiModelProperty(value = "处理方式:0:返工;1:返修;2:让步接收;3:拒收;4:降级使用;5:报废", required = true, example = "返工")
    private String way;
    @ApiModelProperty(value = "逻辑删除", hidden = true)
    @TableLogic(value = "1", delval = "0")
    private Integer state;
    /**
     * å¡«å†™æ—¥æœŸ
     */
    private LocalDateTime createTime;
    @TableField(fill = FieldFill.INSERT)
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty(value = "创建时间", hidden = true)
    private Date createTime;
    private LocalDateTime updateTime;
    @TableField(fill = FieldFill.INSERT_UPDATE)
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty(value = "更新时间: å³å¡«å†™æ—¥æœŸ", hidden = true)
    private Date updateTime;
    /**
     * å…³è” å¡«å†™äººï¼ˆç”¨æˆ·id)
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty(value = "填写日期", required = true, example = "2023-09-05", dataType = "date")
    private Date fillDate;
    @ApiModelProperty(value = "填写人Id", hidden = true, example = "1")
    private Integer userId;
    /**
     * å…³è” ä¸åˆæ ¼ç»Ÿè®¡è¡¨id
     */
    @NotNull(message = "不合格统计表id能为空")
    @ApiModelProperty(value = "不合格统计表id", hidden = true, example = "2")
    private Integer rawUnacceptedId;
}
inspect-server/src/main/java/com/yuanchu/mom/service/InspectUnacceptedService.java
@@ -4,7 +4,9 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yuanchu.mom.pojo.InspectUnaccepted;
import com.yuanchu.mom.pojo.Opinion;
import java.util.List;
import java.util.Map;
/**
@@ -44,6 +46,13 @@
     * @param state
     * @return
     */
    IPage<Map<String, Object>> selectDisposal(Page<Object> page, String specificationModel, String productName, String productCategories, Integer state);
    IPage<Map<String, Object>> selectDisposal(Page<Object> page, String specificationModel, String productName, Integer productCategories, Integer state);
    /**
     * å¤±ç„¦æ›´æ–°çŽ°åƒæè¿°
     * @param rawUnacceptedId
     * @return
     */
    Integer descriptionUpdate(Integer rawUnacceptedId, String tell);
}
inspect-server/src/main/java/com/yuanchu/mom/service/OpinionService.java
@@ -4,7 +4,9 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.pojo.Opinion;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Map;
/**
@@ -17,5 +19,22 @@
 */
public interface OpinionService extends IService<Opinion> {
    IPage<Map<String, Object>> selectOpinionPage(Page<Object> page, String productName, String specificationsModels);
    @Transactional(rollbackFor = Exception.class)
    List<Map<String, Object>> clickEditingTriggerQuery(Integer rawUnacceptedId);
    /**
     * æ‰¹é‡æ›´æ–°æ„è§
     * @param id
     * @param opinion
     * @return
     */
    @Transactional(rollbackFor = Exception.class)
    Integer updateOpinion(String id, List<Opinion> opinion);
    /**
     * æŸ¥çœ‹å¤„置意见
     * @param rawUnacceptedId
     * @return
     */
    List<Map<String, Object>> viewEditorialComments(Integer rawUnacceptedId);
}
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InspectUnacceptedServiceImpl.java
@@ -1,16 +1,16 @@
package com.yuanchu.mom.service.impl;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yuanchu.mom.mapper.InspectUnacceptedMapper;
import com.yuanchu.mom.pojo.InspectUnaccepted;
import com.yuanchu.mom.service.InspectUnacceptedService;
import com.yuanchu.mom.vo.Result;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.Map;
/**
@@ -37,8 +37,16 @@
    }
    @Override
    public IPage<Map<String, Object>> selectDisposal(Page<Object> page, String specificationModel, String productName, String productCategories, Integer state) {
        return null;
    public IPage<Map<String, Object>> selectDisposal(Page<Object> page, String specificationModel, String productName, Integer productCategories, Integer state) {
        return inspectUnacceptedMapper.selectDisposal(page, specificationModel, productName, productCategories, state);
    }
    @Override
    public Integer descriptionUpdate(Integer rawUnacceptedId, String tell) {
        LambdaUpdateWrapper<InspectUnaccepted> updateWrapper = Wrappers.<InspectUnaccepted>lambdaUpdate()
                .eq(InspectUnaccepted::getId, rawUnacceptedId)
                .set(InspectUnaccepted::getTell, tell);
        return inspectUnacceptedMapper.update(new InspectUnaccepted(), updateWrapper);
    }
}
inspect-server/src/main/java/com/yuanchu/mom/service/impl/OpinionServiceImpl.java
@@ -1,7 +1,10 @@
package com.yuanchu.mom.service.impl;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.pojo.InspectUnaccepted;
import com.yuanchu.mom.pojo.Opinion;
import com.yuanchu.mom.mapper.OpinionMapper;
import com.yuanchu.mom.service.OpinionService;
@@ -9,6 +12,9 @@
import com.yuanchu.mom.utils.MyUtil;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
@@ -22,9 +28,36 @@
@Service
public class OpinionServiceImpl extends ServiceImpl<OpinionMapper, Opinion> implements OpinionService {
    @Resource
    private OpinionMapper opinionMapper;
    @Override
    public IPage<Map<String, Object>> selectOpinionPage(Page<Object> page, String productName, String specificationsModels) {
        MyUtil.PrintLog(page +"=======" + productName + "===" + specificationsModels);
        return null;
    public List<Map<String, Object>> clickEditingTriggerQuery(Integer rawUnacceptedId) {
        List<Map<String, Object>> mapList = opinionMapper.clickEditingTriggerQuery(rawUnacceptedId);
        if (mapList.size() == 0) {
            List<Opinion> list = new ArrayList<>();
            for (int i = 0; i <= 3; i++) {
                Opinion opinion = new Opinion()
                        .setType(i)
                        .setRawUnacceptedId(rawUnacceptedId);
                list.add(opinion);
            }
            opinionMapper.insertBatchSomeColumn(list);
            mapList = opinionMapper.clickEditingTriggerQuery(rawUnacceptedId);
        }
        return mapList;
    }
    @Override
    public Integer updateOpinion(String id, List<Opinion> opinion) {
        opinion.forEach(i -> {
            i.setUserId(Integer.valueOf(id));
        });
        return opinionMapper.updateOpinion(opinion);
    }
    @Override
    public List<Map<String, Object>> viewEditorialComments(Integer rawUnacceptedId) {
        return opinionMapper.viewEditorialComments(rawUnacceptedId);
    }
}
inspect-server/src/main/resources/mapper/InspectUnacceptedMapper.xml
@@ -107,4 +107,42 @@
        </if>
        ORDER BY i.`id` DESC
    </select>
    <select id="selectDisposal" resultType="map">
        SELECT i.`id`, s.`type`, s.name productName, s.`specifications`, s.number, i.`tell` description,
               o.`tell` opinions, s.user_name, DATE_FORMAT(i.`create_time`, '%Y-%m-%d') `date`, i.`deal_state`
        FROM (inspect_unaccepted i,
             (
            SELECT 2 AS `type`, r.`name`, r.`specifications`, r.`number`, r.`id`, r.`user_name`, 0 AS classify
            FROM raw_inspect r
            WHERE r.state = 1
            <if test="specificationModel != null and specificationModel != ''">
                AND r.`specifications` LIKE CONCAT('%', #{specificationModel}, '%')
            </if>
            <if test="productName != null and productName != ''">
                AND r.`name` LIKE CONCAT('%', #{productName}, '%')
            </if>
            UNION ALL
            SELECT f.`type`, f.`project_name` `name`, f.`specifications_model` specifications, f.`quantity` number, f.`id`, u.name user_name, 1 AS classify
            FROM finished_inspect f, `user` u
            WHERE f.`state` = 1
              AND u.id = f.user_id
            <if test="specificationModel != null and specificationModel != ''">
                AND f.`specifications_model` LIKE CONCAT('%', #{specificationModel}, '%')
            </if>
            <if test="productName != null and productName != ''">
                AND f.`project_name` LIKE CONCAT('%', #{productName}, '%')
            </if>
        ) AS s)
                 LEFT JOIN opinion o ON i.`id` = o.`raw_unaccepted_id`
        WHERE i.`state` = 1
            AND i.`type` = s.`classify`
            AND s.`id` = i.`raw_inspect_id`
        <if test="state != null">
            AND i.`deal_state` = #{state}
        </if>
        <if test="productCategories != null">
            AND s.`type` = #{productCategories}
        </if>
    </select>
</mapper>
inspect-server/src/main/resources/mapper/OpinionMapper.xml
@@ -2,4 +2,47 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yuanchu.mom.mapper.OpinionMapper">
    <select id="clickEditingTriggerQuery" resultType="map">
        SELECT o.`id`, o.`tell`, o.`type`, o.`way`, o.`fill_date`
        FROM opinion o
                 LEFT JOIN `user` u ON o.`user_id` = u.`id`
        WHERE o.`raw_unaccepted_id` = #{rawUnacceptedId}
    </select>
    <update id="updateOpinion" parameterType="integer">
        UPDATE opinion o
        <trim prefix="set" suffixOverrides=",">
            <trim prefix="tell=case" suffix="end,">
                <foreach collection="list" item="item" index="index">
                    WHEN o.id = #{item.id} THEN #{item.tell}
                </foreach>
            </trim>
            <trim prefix="way=case" suffix="end,">
                <foreach collection="list" item="item" index="index">
                    WHEN o.id = #{item.id} THEN #{item.way}
                </foreach>
            </trim>
            <trim prefix="fill_date=case" suffix="end,">
                <foreach collection="list" item="item" index="index">
                    WHEN o.id = #{item.id} THEN #{item.fillDate}
                </foreach>
            </trim>
            <trim prefix="user_id=case" suffix="end,">
                <foreach collection="list" item="item" index="index">
                    WHEN o.id = #{item.id} THEN #{item.userId}
                </foreach>
            </trim>
        </trim>
        WHERE o.id in
        <foreach collection="list" index="index" item="item" separator="," open="(" close=")">
            #{item.id, jdbcType=BIGINT}
        </foreach>
    </update>
    <select id="viewEditorialComments" resultType="map">
        SELECT o.`tell`, o.`type`, o.`way`, DATE_FORMAT(o.`fill_date`, '%Y-%m-%d') fillDate, u.`name`
        FROM opinion o
                 LEFT JOIN `user` u ON o.`user_id` = u.`id`
        WHERE o.raw_unaccepted_id = #{rawUnacceptedId}
    </select>
</mapper>
system-run/src/main/resources/application-dev.yml
@@ -34,7 +34,7 @@
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driverClassName: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://192.168.73.113:3306/mom_ocean?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
    url: jdbc:mysql://192.168.65.113:3306/mom_ocean?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
    username: user
    password: 123456
    druid:
@@ -59,7 +59,7 @@
    # redis数据库索引(默认为0),我们使用索引为3的数据库,避免和其他数据库冲突
    database: 0
    # redis服务器地址(默认为localhost)
    host: 192.168.73.113
    host: 192.168.65.113
    # redis端口(默认为6379)
    port: 6379
    # redis访问密码(默认为空)