ソースを参照

新增未轧规格,并禁止未轧钢材排队

liyg 2 年 前
コミット
86ea13aee1

+ 2 - 0
src/main/java/com/steerinfo/dil/controller/QmsQueueListController.java

@@ -48,6 +48,8 @@ public class QmsQueueListController extends BaseRESTfulController {
         int i = qmsQueueListService.addQueueList(new BigDecimal(resultId));
         if(i == 0){
             return failed("该车已有排队!");
+        }else if(i == 1){
+            return failed("钢材未轧,暂时无法排队,请等待!");
         }
         return success(i);
     }

+ 46 - 0
src/main/java/com/steerinfo/dil/controller/QmsQueueResultController.java

@@ -1,8 +1,10 @@
 package com.steerinfo.dil.controller;
 
 
+import com.steerinfo.dil.mapper.QmsModelUnrooledMapper;
 import com.steerinfo.dil.mapper.QmsQueueResultMapper;
 import com.steerinfo.dil.mapper.QueueInterfaceMapper;
+import com.steerinfo.dil.model.QmsModelUnrooled;
 import com.steerinfo.dil.model.QmsQueueResult;
 import com.steerinfo.dil.service.impl.QmsQueueResultServiceImpl;
 import com.steerinfo.dil.service.impl.QueueInterfaceServiceImpl;
@@ -51,6 +53,9 @@ public class QmsQueueResultController extends BaseRESTfulController {
     @Autowired
     private QmsQueueResultMapper qmsQueueResultMapper;
 
+    @Autowired
+    private QmsModelUnrooledMapper qmsModelUnrooledMapper;
+
 
     private final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 
@@ -707,5 +712,46 @@ public class QmsQueueResultController extends BaseRESTfulController {
 //
 //    }
 
+    @ApiOperation(value="查看所有物资")
+    @GetMapping("/getAllModel")
+    public RESTfulResult getAllModel(String index){
+        Map<String ,Object> map=new HashMap<>();
+        map.put("index",index);
+        return success(qmsModelUnrooledMapper.getAllModel(map));
+    }
+
+    @ApiOperation(value="查看所有物资")
+    @GetMapping("/getAllModelUnrolled")
+    public RESTfulResult getAllModelUnrolled(String index){
+        Map<String ,Object> map=new HashMap<>();
+        map.put("index",index);
+        return success(qmsModelUnrooledMapper.getAllModelUnrolled(map));
+    }
+
+    @ApiOperation(value="新增")
+    @PostMapping("/addModel")
+    public RESTfulResult addModel(@RequestBody(required=false) Map<String,Object> map){
+        QmsModelUnrooled model=new QmsModelUnrooled();
+        model.setSpectionsModel(map.get("spectionsModel").toString());
+        model.setResultId(qmsModelUnrooledMapper.selectMaxId());
+        return success(qmsModelUnrooledMapper.insertSelective(model));
+    }
+
+    @ApiOperation(value="修改")
+    @PostMapping("/updateModel")
+    public RESTfulResult updateModel(@RequestBody(required=false) Map<String,Object> map){
+        QmsModelUnrooled model=new QmsModelUnrooled();
+        model.setResultId(DataChange.dataToBigDecimal(map.get("resultId")));
+        model.setSpectionsModel(map.get("spectionsModel").toString());
+        return success(qmsModelUnrooledMapper.updateByPrimaryKeySelective(model));
+    }
+
+    @ApiOperation(value="删除")
+    @PostMapping("/deleteModel")
+    public RESTfulResult deleteModel(@RequestBody(required=false) Map<String,Object> map){
+        QmsModelUnrooled model=new QmsModelUnrooled();
+        model.setResultId(DataChange.dataToBigDecimal(map.get("resultId")));
+        return success(qmsModelUnrooledMapper.deleteByPrimaryKey(model.getResultId()));
+    }
 
 }

+ 25 - 0
src/main/java/com/steerinfo/dil/mapper/QmsModelUnrooledMapper.java

@@ -0,0 +1,25 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.QmsModelUnrooled;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import java.math.*;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface QmsModelUnrooledMapper extends IBaseMapper<QmsModelUnrooled, BigDecimal> {
+
+    //获取新增主键id
+    BigDecimal selectMaxId();
+
+    //查询所有规格
+    List<String> getAllModel(Map<String,Object> map);
+
+    //查询所有未轧规格
+    List<Map<String, Object>> getAllModelUnrolled(Map<String, Object> map);
+
+    //根据运力id查询当前订单是否存在未轧规格
+    Map<String,Object> existUnrolled(Map<String,Object> map);
+}

+ 63 - 0
src/main/java/com/steerinfo/dil/model/QmsModelUnrooled.java

@@ -0,0 +1,63 @@
+package com.steerinfo.dil.model;
+
+import com.steerinfo.framework.model.IBasePO;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.math.BigDecimal;
+
+@ApiModel(value="未轧钢材规格,在这个表里的规格物资不允许排队进场")
+public class QmsModelUnrooled implements IBasePO<BigDecimal> {
+    /**
+     * 主键(RESULT_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value="主键",required=true)
+    private BigDecimal resultId;
+
+    /**
+     * 未轧物资规格(SPECTIONS_MODEL,VARCHAR,255)
+     */
+    @ApiModelProperty(value="未轧物资规格",required=false)
+    private String spectionsModel;
+
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public BigDecimal getId() {
+        return this.resultId;
+    }
+
+    @Override
+    public void setId(BigDecimal resultId) {
+        this.resultId = resultId;
+    }
+
+    public BigDecimal getResultId() {
+        return resultId;
+    }
+
+    public void setResultId(BigDecimal resultId) {
+        this.resultId = resultId;
+    }
+
+    public String getSpectionsModel() {
+        return spectionsModel;
+    }
+
+    public void setSpectionsModel(String spectionsModel) {
+        this.spectionsModel = spectionsModel == null ? null : spectionsModel.trim();
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", resultId=").append(resultId);
+        sb.append(", spectionsModel=").append(spectionsModel);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 13 - 5
src/main/java/com/steerinfo/dil/service/impl/QmsQueueListServiceImpl.java

@@ -1,15 +1,12 @@
 package com.steerinfo.dil.service.impl;
 
 import com.steerinfo.dil.feign.LargeScreenFeign;
-import com.steerinfo.dil.mapper.QmsQueueResultMapper;
-import com.steerinfo.dil.mapper.QmsQueueSpellingListMapper;
-import com.steerinfo.dil.mapper.QueuingRulesMapper;
+import com.steerinfo.dil.mapper.*;
 import com.steerinfo.dil.model.QmsQueueResult;
 import com.steerinfo.dil.model.QmsQueueSpellingList;
 import com.steerinfo.dil.model.WebSocketCapacity;
 import com.steerinfo.dil.util.DataChange;
 import com.steerinfo.dil.model.QmsQueueList;
-import com.steerinfo.dil.mapper.QmsQueueListMapper;
 import com.steerinfo.dil.service.IQmsQueueListService;
 import com.steerinfo.framework.controller.RESTfulResult;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -60,7 +57,8 @@ public class QmsQueueListServiceImpl implements IQmsQueueListService {
     @Autowired
     LargeScreenFeign largeScreenFeign;
 
-
+    @Autowired
+    private QmsModelUnrooledMapper qmsModelUnrooledMapper;
 
 
     private final SimpleDateFormat gatepostTimeSdf = new SimpleDateFormat("HHmmss");
@@ -115,6 +113,16 @@ public class QmsQueueListServiceImpl implements IQmsQueueListService {
         //通过订单查询有几种物资
         Map<String, Object> mesMap = qmsQueueListMapper.getMaterialNumByOrderId(resultId);
         int materialNum = DataChange.dataToBigDecimal(mesMap.get("materialNum")).intValue();
+        Map<String,Object> isUnrolled=null;
+        try{
+            isUnrolled=qmsModelUnrooledMapper.existUnrolled(mesMap);
+        }catch (Exception e){
+            System.out.println("查询未轧规格出现异常,不抛出异常,允许继续排队。");
+        }
+        if(isUnrolled!=null){
+            //存在未轧钢材,不允许排队
+            return 1;
+        }
         if(materialNum == 1){
             //单拼进入链表
             //判断单拼链表中是否有已存在此辆车正在排队

+ 181 - 0
src/main/resources/com/steerinfo/dil/mapper/QmsModelUnrooledMapper.xml

@@ -0,0 +1,181 @@
+<?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.steerinfo.dil.mapper.QmsModelUnrooledMapper">
+  <resultMap id="BaseResultMap" type="com.steerinfo.dil.model.QmsModelUnrooled">
+    <id column="RESULT_ID" jdbcType="DECIMAL" property="resultId" />
+    <result column="SPECTIONS_MODEL" jdbcType="VARCHAR" property="spectionsModel" />
+  </resultMap>
+  <sql id="columns">
+    RESULT_ID, SPECTIONS_MODEL
+  </sql>
+  <sql id="columns_alias">
+    t.RESULT_ID, t.SPECTIONS_MODEL
+  </sql>
+  <sql id="select">
+    SELECT <include refid="columns"/> FROM QMS_MODEL_UNROOLED
+  </sql>
+  <sql id="select_alias">
+    SELECT <include refid="columns_alias"/> FROM QMS_MODEL_UNROOLED t
+  </sql>
+  <sql id="where">
+    <where> 
+      <if test="resultId != null">
+        and RESULT_ID = #{resultId}
+      </if>
+      <if test="spectionsModel != null and spectionsModel != ''">
+        and SPECTIONS_MODEL = #{spectionsModel}
+      </if>
+    </where>
+  </sql>
+  <sql id="whereLike">
+    <where> 
+      <if test="resultId != null">
+        and RESULT_ID = #{resultId}
+      </if>
+      <if test="spectionsModel != null and spectionsModel != ''">
+        and SPECTIONS_MODEL LIKE '%${spectionsModel}%'
+      </if>
+    </where>
+  </sql>
+  <delete id="deleteByPrimaryKey" parameterType="java.math.BigDecimal">
+    delete from QMS_MODEL_UNROOLED
+    where RESULT_ID = #{resultId,jdbcType=DECIMAL}
+  </delete>
+  <delete id="deleteBySelectiveElement" parameterType="java.util.HashMap">
+    delete from QMS_MODEL_UNROOLED
+    where 1!=1 
+      <if test="spectionsModel != null and spectionsModel != ''">
+        or SPECTIONS_MODEL = #{spectionsModel}
+      </if>
+  </delete>
+  <insert id="insert" parameterType="com.steerinfo.dil.model.QmsModelUnrooled">
+    insert into QMS_MODEL_UNROOLED (RESULT_ID, SPECTIONS_MODEL)
+    values (#{resultId,jdbcType=DECIMAL}, #{spectionsModel,jdbcType=VARCHAR})
+  </insert>
+  <insert id="insertSelective" parameterType="com.steerinfo.dil.model.QmsModelUnrooled">
+    insert into QMS_MODEL_UNROOLED
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="resultId != null">
+        RESULT_ID,
+      </if>
+      <if test="spectionsModel != null">
+        SPECTIONS_MODEL,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="resultId != null">
+        #{resultId,jdbcType=DECIMAL},
+      </if>
+      <if test="spectionsModel != null">
+        #{spectionsModel,jdbcType=VARCHAR},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKey" parameterType="com.steerinfo.dil.model.QmsModelUnrooled">
+    update QMS_MODEL_UNROOLED
+    set SPECTIONS_MODEL = #{spectionsModel,jdbcType=VARCHAR}
+    where RESULT_ID = #{resultId,jdbcType=DECIMAL}
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.steerinfo.dil.model.QmsModelUnrooled">
+    update QMS_MODEL_UNROOLED
+    <set>
+      <if test="spectionsModel != null">
+        SPECTIONS_MODEL = #{spectionsModel,jdbcType=VARCHAR},
+      </if>
+    </set>
+    where RESULT_ID = #{resultId,jdbcType=DECIMAL}
+  </update>
+  <select id="selectByPrimaryKey" parameterType="java.lang.Short" resultMap="BaseResultMap">
+    <include refid="select"/>
+    where RESULT_ID = #{resultId,jdbcType=DECIMAL}
+  </select>
+  <select id="selectByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
+    <include refid="select"/>
+    <include refid="where"/>
+  </select>
+  <select id="selectLikeByParameters" parameterType="java.util.HashMap" resultMap="BaseResultMap">
+    <include refid="select"/>
+    <include refid="whereLike"/>
+  </select>
+  <insert id="batchInsert" parameterType="java.util.List">
+    insert into QMS_MODEL_UNROOLED 
+      (RESULT_ID, 
+      SPECTIONS_MODEL)
+    ( <foreach collection="list" item="item" separator="union all"> 
+   select  
+      #{item.resultId,jdbcType=DECIMAL}, 
+      #{item.spectionsModel,jdbcType=VARCHAR} from dual  
+   </foreach> )
+  </insert>
+  <update id="batchUpdate" parameterType="java.util.List">
+     update QMS_MODEL_UNROOLED
+     set
+       RESULT_ID=
+       <foreach collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
+          when #{item.resultId,jdbcType=DECIMAL} then #{item.resultId,jdbcType=DECIMAL}
+       </foreach>
+       ,SPECTIONS_MODEL=
+       <foreach collection="list" item="item" index="index" separator=" " open="case RESULT_ID" close="end">
+          when #{item.resultId,jdbcType=DECIMAL} then #{item.spectionsModel,jdbcType=VARCHAR}
+       </foreach>
+     where RESULT_ID in 
+     <foreach collection="list" index="index" item="item" separator="," open="(" close=")">
+    #{item.resultId,jdbcType=DECIMAL}
+     </foreach> 
+  </update>
+  <delete id="batchDelete" parameterType="java.util.List">
+    delete from QMS_MODEL_UNROOLED
+    where RESULT_ID in 
+    <foreach collection="list" item="id" open="(" close=")" separator=",">
+      #{id}
+    </foreach>
+  </delete>
+  <!-- 友情提示!!!-->
+  <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
+  <select id="selectMaxId" resultType="java.math.BigDecimal">
+    select SEQ_QMS_MODEL.nextval from dual
+  </select>
+    <select id="getAllModel" resultType="java.lang.String">
+    SELECT DISTINCT
+    MATERIAL_SPECIFICATION || MATERIAL_MODEL
+    from RMS_MATERIAL
+    where MATERIAL_SPECIFICATION like 'Φ%'
+    <if test="index !=null and index!=''.toString()">
+      MATERIAL_SPECIFICATION || MATERIAL_MODEL like CONCAT(CONCAT('%',#{index}),'%')
+    </if>
+    </select>
+  <select id="getAllModelUnrolled" resultType="java.util.Map">
+    select RESULT_ID "resultId",
+           SPECTIONS_MODEL "spectionsModel"
+    from QMS_MODEL_UNROOLED
+    <where>
+      <if test="index !=null and index!=''.toString()">
+        MATERIAL_SPECIFICATION || MATERIAL_MODEL like CONCAT(CONCAT('%',#{index}),'%')
+      </if>
+    </where>
+  </select>
+  <select id="existUnrolled" resultType="java.util.Map">
+    SELECT DISTINCT
+      OO.ORDER_NUMBER "orderNumber",
+      RCA.CAPACITY_NUMBER "capacityNumber",
+      RM.MATERIAL_SPECIFICATION || RM.MATERIAL_MODEL "materialSpe"
+    FROM  OMSTRUCK_ORDER OO
+            LEFT JOIN RMS_CAPACITY RCA
+                      ON RCA.CAPACITY_ID = OO.CAPACITY_ID
+            LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
+                      ON OO.ORDER_PLAN_ID = ASOM.SALE_ORDER_MATERIAL_ID
+            LEFT JOIN AMS_SALE_TRUCKNO_MATERIAL  ASTM
+                      ON ASTM.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
+            LEFT JOIN AMS_SALE_MATERIAL ASM
+                      ON ASM.SALE_MATERIAL_ID = ASTM.MATERIAL_ID
+            LEFT JOIN RMS_MATERIAL RM
+                      ON RM.MATERIAL_ID = ASM.MATERIAL_ID
+    WHERE
+      OO.ORDER_STATUS = 5 AND
+      RCA.CAPACITY_ID=#{capacityId}
+      AND RM.MATERIAL_SPECIFICATION || RM.MATERIAL_MODEL in(
+      select DISTINCT SPECTIONS_MODEL  from QMS_MODEL_UNROOLED
+    )
+    FETCH NEXT 1 ROWS ONLY
+  </select>
+</mapper>