Browse Source

采购入库

Administrator 3 years ago
parent
commit
b263f2b31b

+ 5 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/openApi/mapper/PurchaseWarehousingMapper.java

@@ -154,4 +154,9 @@ public interface PurchaseWarehousingMapper extends BaseMapper<PurchaseWarehousin
     * @return void
     */
     void updateOMMODetailsfreceivedqty(@Param("map")Map<String,Object> map);
+
+    /**
+     * 修改流水号最大值
+     */
+    void updateVoucherHistoryCNumber(@Param("cNumber")String cNumber,@Param("cardNumber")String cardNumber);
 }

+ 4 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/openApi/mapper/xml/PurchaseWarehousingMapper.xml

@@ -60,7 +60,7 @@
                 #{RdRecord01.exportInvoiceNo},
                 #{RdRecord01.cVouchType},
                 1,
-                '云工厂',
+                #{RdRecord01.cSource},
                 0,
                 0,
                 '陈创',
@@ -373,5 +373,8 @@
       select * from OM_MODetails where moDetailsId=#{moDetailsId}
     </select>
 
+    <update id="updateVoucherHistoryCNumber" >
+        update VoucherHistory set cNumber=#{cNumber} where CardNumber=#{cardNumber}
+    </update>
 
 </mapper>

+ 6 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/openApi/service/impl/PurchaseWarehousingServiceImpl.java

@@ -58,11 +58,14 @@ public class PurchaseWarehousingServiceImpl extends ServiceImpl<PurchaseWarehous
             for(Map<String,Object> map:mapList){
                 //获取主表最大编码
                 map.put("ID", oConvertUtils.addOne(getMaxId("ID","RdRecord01")));
+
                 System.out.println(map.get("ID"));
                 //获取最大code
                 String cCode=oConvertUtils.addOne(this.baseMapper.getMaxCode("cCode","RdRecord01"));
+
                 if(cCode!=null){
                     map.put("cCode",cCode);
+                    this.baseMapper.updateVoucherHistoryCNumber(oConvertUtils.maxNumber(String.valueOf(map.get("cCode"))),"24");
                 }else{
                     throw new RuntimeException("获取入库单号失败");
                 }
@@ -81,10 +84,12 @@ public class PurchaseWarehousingServiceImpl extends ServiceImpl<PurchaseWarehous
                     //采购入库
                     map.put("cRdCode","11");
                     map.put("cPTCode","01");
+                    map.put("cSource","采购订单");
                 }else{
                     //委外入库
                     map.put("cRdCode","12");
                     map.put("cPTCode","01");
+                    map.put("cSource","委外订单");
                 }
                 //获取部门编码
                 if(map.get("cPersonCode")!=null){
@@ -320,6 +325,7 @@ public class PurchaseWarehousingServiceImpl extends ServiceImpl<PurchaseWarehous
         transVouchMao.put("ID",oConvertUtils.addOne(getMaxId("ID","TransVouch")));
         //获取最大编码
         transVouchMao.put("cTVCode",oConvertUtils.addOne(getMaxId("cTVCode","TransVouch")));
+        this.baseMapper.updateVoucherHistoryCNumber(oConvertUtils.maxNumber(String.valueOf(transVouchMao.get("cTVCode"))),"0304");
         //单据日期
         Date date=new Date();
         SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

+ 17 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/util/oConvertUtils.java

@@ -601,6 +601,23 @@ public class oConvertUtils {
             throw new NumberFormatException();
         }
     }
+
+	/**
+	 * 获取流水号最大值去除单号中的前缀0
+	 * @param testStr
+	 * @return
+	 */
+	public static String maxNumber(String testStr){
+		String[] strs = testStr.split("[^0-9]");//根据不是数字的字符拆分字符串
+		String numStr = strs[strs.length - 1];//取出最后一组数字
+		if (numStr != null && numStr.length() > 0) {//如果最后一组没有数字(也就是不以数字结尾),抛NumberFormatException异常
+			int i = Integer.valueOf(testStr);
+			return String.valueOf(i);
+		}else {
+			throw new NumberFormatException();
+		}
+	}
+
     public static String getId(){
         //生成主键:12位时间+8位随机数字
         StringBuffer b=new StringBuffer();