浏览代码

麻柳新厂厂外库功能

xiaosonghong 3 月之前
父节点
当前提交
f4fae5857e

+ 30 - 21
src/main/java/com/steerinfo/dil/controller/OyeWarehouseController.java

@@ -58,6 +58,19 @@ public class OyeWarehouseController extends BaseRESTfulController {
         return success("新增成功");
     }
 
+    @ApiOperation("新增欧冶具体库房")
+    @PostMapping("/insertOyeWarehouseSide")
+    public RESTfulResult insertOyeWarehouseSide(@RequestBody Map<String,Object> map) {
+        RmsReceivePlace rmsReceivePlace = new RmsReceivePlace();
+        rmsReceivePlace.setPlaceId(rmsReceivePlaceMapper.selectMaxId());
+        rmsReceivePlace.setAddressId(new BigDecimal(5));
+        rmsReceivePlace.setAddressDeliveryAddress(map.get("warehouseName").toString());
+        rmsReceivePlace.setInsertUpdateRemark(map.get("carrierName").toString());
+        rmsReceivePlaceMapper.insertSelective(rmsReceivePlace);
+        rmsReceivePlaceMapper.insertWarehouse(map);
+        return success("新增成功");
+    }
+
     @ApiOperation("查询欧冶库具体库房信息")
     @PostMapping("getOyeWarehouse")
     public RESTfulResult getOyeWarehouse(@RequestBody(required = false) Map<String,Object> mapValue,
@@ -74,6 +87,22 @@ public class OyeWarehouseController extends BaseRESTfulController {
         return success(pageList);
     }
 
+    @ApiOperation("查询欧冶库具体库房信息")
+    @PostMapping("getOyeWarehouseSide")
+    public RESTfulResult getOyeWarehouseSide(@RequestBody(required = false) Map<String,Object> mapValue,
+                                         Integer pageNum,
+                                         Integer pageSize,
+                                         Integer apiId) {
+
+
+
+        PageHelper.startPage(pageNum,pageSize);
+        //分页数据
+        List<Map<String, Object>> mapList = rmsReceivePlaceMapper.getOyeWarehouseSide(mapValue);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,mapList);
+        return success(pageList);
+    }
+
 
     @ApiModelProperty(value = "新增欧冶转运计划")
     @PostMapping("/addTransPlan")
@@ -85,16 +114,6 @@ public class OyeWarehouseController extends BaseRESTfulController {
         try {
             // 成功
             int result = oyeWarehouseService.addTransPlan(mapValue);
-            List<Map<String,Object>> compareMapList = amsSaleMaterialMapper.getCompareMap(result);
-            for (Map<String,Object> compareMap : compareMapList) {
-                BigDecimal orderMaterialNumber = DataChange.dataToBigDecimal(compareMap.get("orderMaterialNumber"));
-                BigDecimal materialNumber= DataChange.dataToBigDecimal(compareMap.get("materialNumber"));
-                if (orderMaterialNumber.compareTo(materialNumber) > 0) {
-                    //删除销售订单
-                    amsSaleMaterialMapper.updateSaleStatus(result);
-                    return failed(mapValue.get("receiveName") + "超出库存数量,系统删除,请重新输入");
-                }
-            }
             return success(result);
         } catch (Exception e) {
             // 失败
@@ -123,17 +142,7 @@ public class OyeWarehouseController extends BaseRESTfulController {
             ) {
                 saleOrderNo = map.get("saleOrderNo").toString();
                 count++;
-                int saleOrderId = oyeWarehouseService.addTransPlan(map);
-                List<Map<String,Object>> compareMapList = amsSaleMaterialMapper.getCompareMap(saleOrderId);
-                for (Map<String,Object> compareMap : compareMapList) {
-                    BigDecimal orderMaterialNumber = DataChange.dataToBigDecimal(compareMap.get("orderMaterialNumber"));
-                    BigDecimal materialNumber= DataChange.dataToBigDecimal(compareMap.get("materialNumber"));
-                    if (orderMaterialNumber.compareTo(materialNumber) > 0) {
-                        //删除销售订单
-                        amsSaleMaterialMapper.updateSaleStatus(saleOrderId);
-                        return failed(map.get("receiveName") + "超出库存数量,系统删除,请重新输入");
-                    }
-                }
+                oyeWarehouseService.addTransPlan(map);
                 //根据销售订单ID再去查询汇总一遍
             }
         } catch (Exception e) {

+ 4 - 0
src/main/java/com/steerinfo/dil/mapper/RmsReceivePlaceMapper.java

@@ -19,6 +19,10 @@ public interface RmsReceivePlaceMapper extends IBaseMapper<RmsReceivePlace, BigD
 
     List<Map<String, Object>> getOyeWarehouse(Map<String, Object> mapValue);
 
+    List<Map<String, Object>> getOyeWarehouseSide(Map<String, Object> mapValue);
+
+    int insertWarehouse(Map<String, Object> mapValue);
+
     String getAddressType(BigDecimal shippingAddressId);
 
 }

+ 2 - 1
src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderServiceImpl.java

@@ -870,7 +870,7 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
                 amsSaleMaterial.setSteelMeter(null);
             }
             else {
-                amsSaleMaterial.setSteelMeter(steelMeters);
+                amsSaleMaterial.setSteelMeter( steelMeters.doubleValue() > 0 ? steelMeters : null);
             }
             // 是否磅重销售(0:磅重;1:理重)
             BigDecimal isPoundSale = DataChange.dataToBigDecimal(map.get("isPoundSale"));
@@ -1427,6 +1427,7 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
      * @param mapList
      * @return
      */
+    @Transactional(rollbackFor = Exception.class)
     @Override
     public int dispatchToCarrier(List<Map<String,Object>> mapList) {
         int result = 0;

+ 20 - 0
src/main/java/com/steerinfo/dil/service/impl/OyeWarehouseServiceImpl.java

@@ -138,6 +138,9 @@ public class OyeWarehouseServiceImpl implements IOyeWarehouseService {
         amsSaleOrder.setDeleted(new BigDecimal(0));
         amsSaleOrder.setSaleOrderStatus(new BigDecimal(0));
         amsSaleOrder.setBusinessDate(new Date());
+        if(mapValue.get("businessType") != null && "".equals(mapValue.get("businessType").toString())){
+            amsSaleOrder.setBusinessType(mapValue.get("businessType").toString());
+        }
         // 销售订单物资表
         AmsSaleMaterial amsSaleMaterial = new AmsSaleMaterial();
         // 车序号物资表
@@ -175,6 +178,7 @@ public class OyeWarehouseServiceImpl implements IOyeWarehouseService {
             searchInventoryMap.put("receiveId",receiveId);
             searchInventoryMap.put("meter",steelMeters);
             searchInventoryMap.put("inboundWarehouse",inboundWarehouse);
+            searchInventoryMap.put("inboundArea",map.get("inboundArea") == null ? null : map.get("inboundArea").toString());
             BigDecimal inventoryId = DataChange.dataToBigDecimal(map.get("inventoryId"));
             if (inventoryId == null || inventoryId.intValue() == 0) {
                 try {
@@ -375,14 +379,30 @@ public class OyeWarehouseServiceImpl implements IOyeWarehouseService {
             result += amsSaleTrucknoMaterialMapper.insertSelective(amsSaleTrucknoMaterial);
         }
         result += amsSaleOrderMapper.insertSelective(amsSaleOrder);
+        this.checkInventory(saleOrderId.intValue(), mapValue);
         return saleOrderId.intValue();
 
     }
 
+    @Transactional(rollbackFor = Exception.class)
+    public void checkInventory(int result, Map<String,Object> mapValue) throws Exception {
+        List<Map<String,Object>> compareMapList = amsSaleMaterialMapper.getCompareMap(result);
+        for (Map<String,Object> compareMap : compareMapList) {
+            BigDecimal orderMaterialNumber = DataChange.dataToBigDecimal(compareMap.get("orderMaterialNumber"));
+            BigDecimal materialNumber= DataChange.dataToBigDecimal(compareMap.get("materialNumber"));
+            if (orderMaterialNumber.compareTo(materialNumber) > 0) {
+                //删除销售订单
+                amsSaleMaterialMapper.updateSaleStatus(result);
+                throw new Exception(mapValue.get("receiveName") + "超出库存数量,系统删除,请重新输入");
+            }
+        }
+    }
+
     public List<Map<String, Object>> getTransPlan(Map<String, Object> mapValue) {
         return amsSaleOrderMapper.getTransPlan(mapValue);
     }
 
+    @Transactional(rollbackFor = Exception.class)
     public String approveTransPlan(Map<String, Object> map) throws Exception {
         List<Map<String,Object>> mapList = (List<Map<String,Object>>) map.get("mapList");
         String userName = map.get("userName") + "";

+ 8 - 1
src/main/resources/com/steerinfo/dil/mapper/AmsSaleMaterialMapper.xml

@@ -1001,7 +1001,14 @@
   <select id="selectInventoryId" resultType="java.math.BigDecimal" parameterType="java.util.Map">
     SELECT ORI.INVENTORY_ID FROM OYE_REALTIME_INVENTORY ORI
     <where>
-      ORI.INBOUND_AREA = '欧冶库'
+      <choose>
+        <when test="inboundArea != null and inboundArea != ''">
+          ORI.INBOUND_AREA = #{inboundArea}
+        </when>
+        <otherwise>
+          ORI.INBOUND_AREA = '欧冶库'
+        </otherwise>
+      </choose>
       AND ORI.material_Id = #{materialId}
       AND ORI.sale_area = #{saleArea}
       AND ORI.CONSIGNEE_ID = #{receiveId}

+ 8 - 0
src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMapper.xml

@@ -5143,6 +5143,14 @@
     AND a_s_order.DELETED = 0
     AND ASM.DELETED IS NULL
     AND a_s_order.SALE_TYPE = 50
+    <choose>
+      <when test="businessType != null and businessType != ''">
+        AND a_s_order.business_type = #{businessType}
+      </when>
+      <otherwise>
+        AND a_s_order.business_type IS NULL
+      </otherwise>
+    </choose>
     <if test="con != null">
       and (instr(r_consignee.CONSIGNEE_COMPANY_NAME, #{con}) > 0 or instr(a_s_order.SALE_NUMBER, #{con}) > 0)
     </if>

+ 15 - 0
src/main/resources/com/steerinfo/dil/mapper/RmsReceivePlaceMapper.xml

@@ -362,6 +362,21 @@
         LEFT JOIN RMS_RECEIVE_PLACE RRP ON RRP.ADDRESS_ID = RRA.ADDRESS_ID
         WHERE RRA.INSERT_UPDATE_REMARK = '厂外库'
     </select>
+
+    <select id="getOyeWarehouseSide" resultType="java.util.Map">
+        SELECT RRA.ADDRESS_PROVINCE || RRA.ADDRESS_DISTRICT || RRA.ADDRESS_TOWN "warehouseArea",
+               RRP.ADDRESS_DELIVERY_ADDRESS "warehouseName",
+               RRP.INSERT_UPDATE_REMARK "remark"
+        FROM RMS_RECEIVE_ADDRESS RRA
+                 LEFT JOIN RMS_RECEIVE_PLACE RRP ON RRP.ADDRESS_ID = RRA.ADDRESS_ID
+        WHERE RRA.INSERT_UPDATE_REMARK = '麻柳厂区厂外库'
+    </select>
+
+    <insert id="insertWarehouse" parameterType="java.util.Map">
+        INSERT INTO RMS_WAREHOUSE (WAREHOUSE_ID, WAREHOUSE_TYPE_ID, PORT_ID, WAREHOUSE_NAME, DELETED)
+        VALUES (seq_rms_warehouse.nextval, 9, 500, #{warehouseName} ,0)
+    </insert>
+
     <select id="getAddressType" resultType="java.lang.String">
         SELECT RRA.INSERT_UPDATE_REMARK FROM RMS_RECEIVE_ADDRESS RRA
         WHERE RRA.ADDRESS_ID = #{shippingAddressId}