Explorar el Código

-----update------
1. 应急订单不允许重复
2. 更改id生成的逻辑

QuietShadow hace 3 años
padre
commit
f97fe07737

+ 12 - 8
src/main/java/com/steerinfo/ems/emsgmpcjh/controller/EmsGmPcJhController.java

@@ -119,14 +119,18 @@ public class EmsGmPcJhController extends BaseRESTfulController {
         model.setYxfWeight(new BigDecimal("0"));
         model.setCreateTime(new Date());
         model.setCreateMan(userId);
-        EmsGmPcJh emsGmPcJh = emsGmPcJhService.add(model);
-        EmsProdplanWeightAdjustment emsProdplanWeightAdjustment = new EmsProdplanWeightAdjustment();
-        emsProdplanWeightAdjustment.setId(model.getId());
-        emsProdplanWeightAdjustment.setAuditStatus("0");
-        emsProdplanWeightAdjustment.setPlanWeight(model.getPlanWeight());
-        emsProdplanWeightAdjustment.setPlanWeightOld(model.getPlanWeight());
-        emsProdplanWeightAdjustmentMapper.insert(emsProdplanWeightAdjustment);
-        return success(emsGmPcJh);
+        if(emsGmPcJhService.getOlnyData(model).size() == 0) {
+            EmsGmPcJh emsGmPcJh = emsGmPcJhService.add(model);
+            EmsProdplanWeightAdjustment emsProdplanWeightAdjustment = new EmsProdplanWeightAdjustment();
+            emsProdplanWeightAdjustment.setId(model.getId());
+            emsProdplanWeightAdjustment.setAuditStatus("0");
+            emsProdplanWeightAdjustment.setPlanWeight(model.getPlanWeight());
+            emsProdplanWeightAdjustment.setPlanWeightOld(model.getPlanWeight());
+            emsProdplanWeightAdjustmentMapper.insert(emsProdplanWeightAdjustment);
+            return success(emsGmPcJh);
+        } else {
+            return failed(null,"当前日期已存在同产线同规格同钢种数据");
+        }
     }
 
     @ApiOperation(value="创建", notes="根据EmsGmPcJh对象创建GM计划")

+ 15 - 6
src/main/java/com/steerinfo/ems/emsgmpcjh/mapper/EmsGmPcJhMapper.java

@@ -1,25 +1,34 @@
 package com.steerinfo.ems.emsgmpcjh.mapper;
 
 import com.steerinfo.ems.emsgmpcjh.model.EmsGmPcJh;
-import com.steerinfo.ems.emsprodplanround.model.EmsProdplanRound;
 import com.steerinfo.framework.mapper.IBaseMapper;
+import org.apache.ibatis.annotations.Mapper;
 
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.ibatis.annotations.Mapper;
-
 @Mapper
 public interface EmsGmPcJhMapper extends IBaseMapper<EmsGmPcJh, String> {
     //获取国贸编号
     String getMaxid(EmsGmPcJh emsGmPcJh);
+
     //下发与取消下发
-    int  updateState(EmsGmPcJh emsGmPcJh);
+    int updateState(EmsGmPcJh emsGmPcJh);
+
     //轮次计划页面查询
     List<Map<String, Object>> getGmPcJhData(HashMap<String, Object> parmas);
+
     //重量调整页面查询
-    List<Map<String,Object>> getXsDdDate(HashMap<String,Object> parmas);
+    List<Map<String, Object>> getXsDdDate(HashMap<String, Object> parmas);
+
     //计划审核页面查询
-    List<Map<String,Object>> getShData(HashMap<String,Object> parmas);
+    List<Map<String, Object>> getShData(HashMap<String, Object> parmas);
+
+    /***
+     * 查询唯一数据
+     * @param emsGmPcJh
+     * @return
+     */
+    List<EmsGmPcJh> getOlnyData(EmsGmPcJh emsGmPcJh);
 }

+ 12 - 0
src/main/java/com/steerinfo/ems/emsgmpcjh/mapper/EmsGmPcJhMapper.xml

@@ -743,6 +743,7 @@
  where WORKPROC_TYPE = #{workprocType}
    and ID like '%' || #{type} || '%'
    and JH_TIME = #{jhTime}
+   and TAG = #{tag}
   </select>
   <update id="updateState" parameterType="com.steerinfo.ems.emsgmpcjh.model.EmsGmPcJh">
     update ems_gm_pc_jh
@@ -915,4 +916,15 @@
       </where>
       order by t.jh_time desc,t.id asc
   </select>
+<!--  查询唯一数据-->
+  <select id="getOlnyData" parameterType="com.steerinfo.ems.emsgmpcjh.model.EmsGmPcJh" resultMap="BaseResultMap">
+    select * from ems_gm_pc_jh
+    WHERE WORKPROC_TYPE = #{workprocType}
+    and ID like '%' || #{type} || '%'
+    and JH_TIME = #{jhTime}
+    and DELIVERY_DATE = #{deliveryDate}
+    and GRADES = #{grades}
+    AND SPECIFICATIONS = #{specifications}
+    AND TAG = '1'
+  </select>
 </mapper>

+ 8 - 0
src/main/java/com/steerinfo/ems/emsgmpcjh/service/IEmsGmPcJhService.java

@@ -7,6 +7,7 @@ import com.steerinfo.framework.service.pagehelper.PageList;
 
 import java.io.File;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -43,4 +44,11 @@ public interface IEmsGmPcJhService extends IBaseService<EmsGmPcJh, String>{
     //每月自动生成内部计划
     public void addNbjh();
 
+    /***
+     * 查询唯一数据
+     * @param emsGmPcJh
+     * @return
+     */
+    List<EmsGmPcJh> getOlnyData(EmsGmPcJh emsGmPcJh);
+
 }

+ 20 - 4
src/main/java/com/steerinfo/ems/emsgmpcjh/service/impl/EmsGmPcJhServiceImpl.java

@@ -197,10 +197,9 @@ public class EmsGmPcJhServiceImpl extends BaseServiceImpl<EmsGmPcJh, String> imp
                     break;
                 default: throw new Exception("请选择模板文件");
             }
-            String maxid = emsGmPcJhMapper.getMaxid(spp);
-            String strh =maxid.substring(maxid.length() -2,maxid.length());
-            Integer seq = Integer.parseInt(strh)+(i-1);
-            spp.setId(maxid.replace("-"+strh,seq<10?"-0"+seq.toString():"-"+seq.toString()));
+
+            //spp.setId(maxid.replace("-"+strh,seq<10?"-0"+seq.toString():"-"+seq.toString()));
+
             spp.setState("0");
             spp.setCreateMan(payload.getUserName());
             spp.setCreateTime(new Date());
@@ -248,6 +247,18 @@ public class EmsGmPcJhServiceImpl extends BaseServiceImpl<EmsGmPcJh, String> imp
                         throw new MarketSlmException(500,"模板文件存在模板外的列,请仔细检查!!");
                 }
             }
+            String maxid = emsGmPcJhMapper.getMaxid(spp);
+            //String strh =maxid.substring(maxid.length() -2,maxid.length());
+            String strh =maxid.split("-")[3];
+            Integer seq = Integer.parseInt(strh)+(i-1);
+            if("1".equals(spp.getTag())) {
+                spp.setId(spp.getType() + spp.getStartTime() + "-" + String.format("%03d",seq));
+                if(emsGmPcJhMapper.getOlnyData(spp).size() > 0){
+                    continue;
+                }
+            } else {
+                spp.setId(spp.getType() + spp.getStartTime() + "-" + String.format("%02d",seq));
+            }
             //spp.setSteelCode(steel);
             //spp.setHeatno(heat);
             //for (int j=2;j<10;j++)
@@ -424,6 +435,11 @@ public class EmsGmPcJhServiceImpl extends BaseServiceImpl<EmsGmPcJh, String> imp
         }
     }
 
+    @Override
+    public List<EmsGmPcJh> getOlnyData(EmsGmPcJh emsGmPcJh) {
+        return emsGmPcJhMapper.getOlnyData(emsGmPcJh);
+    }
+
     public String setWorkprocType(String str){
         if (str.contains("N-G1-")){
             return "AT2005";