Explorar el Código

1.采购验收单更新已转数,审核调用存储过程

zhoudw hace 7 años
padre
commit
8352dd59f8

+ 1 - 1
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/controller/ProdInOutController.java

@@ -67,7 +67,7 @@ public class ProdInOutController {
      */
     @PostMapping("/save")
     public Result<DocSavedDTO> saveFormData(@RequestBody ProdInOutFormDTO data) {
-        DocSavedDTO savedDTO = prodInOutService.saveFormData(data);
+        DocSavedDTO savedDTO = prodInOutService.saveFormData(data,false);
         return Result.success(savedDTO);
     }
 

+ 1 - 1
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/mapper/ProdInOutMapper.java

@@ -22,7 +22,7 @@ public interface ProdInOutMapper extends CommonBaseMapper<ProdInOut> {
 
     List<ProdInOut> selectByExample(ProdInOutExample example);
 
-    ProdInOut selectByPrimaryKey(Integer pi_id);
+    ProdInOut selectByPrimaryKey(Long pi_id);
 
     int updateByExampleSelective(@Param("record") ProdInOut record, @Param("example") ProdInOutExample example);
 

+ 4 - 0
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/mapper/PurchasedetailMapper.java

@@ -26,4 +26,8 @@ public interface PurchasedetailMapper extends CommonBaseMapper<Purchase> {
     void deleteByForeignKey(Long fk_id);
 
     List<PurchaseDetail> selectByFK(Long fk_i);
+
+    void updatePurchaseYqty(Long id);
+
+
 }

+ 2 - 6
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/service/ProdInOutService.java

@@ -31,7 +31,7 @@ public interface ProdInOutService extends CommonBaseService<ProdInOutMapper, Pro
      * @param formdata
      * @return
      */
-    DocSavedDTO saveFormData(ProdInOutFormDTO formdata);
+    DocSavedDTO saveFormData(ProdInOutFormDTO formdata,Boolean isbfaudit);
 
     /**
      * 删除出入库单
@@ -42,14 +42,10 @@ public interface ProdInOutService extends CommonBaseService<ProdInOutMapper, Pro
     DocSavedDTO audit(ProdInOutFormDTO formData);
 
 
-    int deleteItem(Long id);
+    void deleteItem(Long id);
 
     PageInfo<ProdInOutList> getListData(PageRequest page, ProdInOutReqDTO req);
 
-
-    void post(Long id);
-
-
     Result turnProdOut(Long id);
 
 }

+ 43 - 37
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/service/impl/ProdInOutServiceImpl.java

@@ -12,10 +12,7 @@ import com.usoftchina.saas.purchase.dto.ProdIODetailDTO;
 import com.usoftchina.saas.purchase.dto.ProdInOutDTO;
 import com.usoftchina.saas.purchase.dto.ProdInOutFormDTO;
 import com.usoftchina.saas.purchase.dto.ProdInOutReqDTO;
-import com.usoftchina.saas.purchase.mapper.ProdIODetailMapper;
-import com.usoftchina.saas.purchase.mapper.ProdInOutListMapper;
-import com.usoftchina.saas.purchase.mapper.ProdInOutMapper;
-import com.usoftchina.saas.purchase.mapper.PurchaseMapper;
+import com.usoftchina.saas.purchase.mapper.*;
 import com.usoftchina.saas.purchase.po.*;
 import com.usoftchina.saas.purchase.service.ProdInOutService;
 import com.usoftchina.saas.utils.BeanMapper;
@@ -40,6 +37,8 @@ public class ProdInOutServiceImpl extends CommonBaseServiceImpl<ProdInOutMapper,
     @Autowired
     private PurchaseMapper purchaseMapper;
     @Autowired
+    private PurchasedetailMapper purchasedetailMapper;
+    @Autowired
     private ProdInOutListMapper prodInOutListMapper;
     @Autowired
     private WarehouseApi warehouseApi;
@@ -63,22 +62,6 @@ public class ProdInOutServiceImpl extends CommonBaseServiceImpl<ProdInOutMapper,
         return pageInfo;
     }
 
-    @Override
-    public void post(Long id) {
-        Map<String, Object> map = new HashMap<String, Object>();
-        map.put("inoutNo","YS20181018");
-        map.put("class","采购验收单");
-        map.put("commitid","11");
-        map.put("companyid","1");
-        map.put("result","");
-        warehouseApi.callProcedure(map);
-        Object result =  map.get("result");
-        System.out.println("result");
-        if (!StringUtils.isEmpty(result))
-            System.out.println(result);
-
-    }
-
     private List<ProdInOutList> getListByMode(ProdInOutReqDTO req) {
         List<ProdInOutList> list = null;
         if (null == req || StringUtils.isEmpty(req.getMode()) || "Main".equals(req.getMode())) {
@@ -112,7 +95,7 @@ public class ProdInOutServiceImpl extends CommonBaseServiceImpl<ProdInOutMapper,
     }
 
     @Override
-    public DocSavedDTO saveFormData(ProdInOutFormDTO formdata) {
+    public DocSavedDTO saveFormData(ProdInOutFormDTO formdata,Boolean isbfaudit) {
         if (null == formdata || null == formdata.getMain()){
             throw new BizException(500, "数据为空,请填写后再保存");
         }
@@ -177,6 +160,11 @@ public class ProdInOutServiceImpl extends CommonBaseServiceImpl<ProdInOutMapper,
             prodIODetailMapper.batchInsert(insertDetails);
         }
         saveDTO.setId(pi_id);
+
+        //更新已转数
+        if (!isbfaudit)
+            updateYqty(pi_id,prodInOut.getPi_class());
+
         return saveDTO;
     }
 
@@ -187,14 +175,18 @@ public class ProdInOutServiceImpl extends CommonBaseServiceImpl<ProdInOutMapper,
 
     private void singleDelete(Long id) {
         if (null != id) {
+            ProdInOut prodInOut = getMapper().selectByPrimaryKey(id);
+
             //删除主键
-            getMapper().deleteByPrimaryKey(id.intValue());
+            getMapper().deleteByPrimaryKey(prodInOut.getId());
 
             //删除从表
             ProdIODetailExample prodIODetailExample = new ProdIODetailExample();
             ProdIODetailExample.Criteria cta = prodIODetailExample.createCriteria();
-            cta.andPd_piidEqualTo(id.intValue());
+            cta.andPd_piidEqualTo(prodInOut.getId().intValue());
             prodIODetailMapper.deleteByExample(prodIODetailExample);
+            //更新已转数
+            updateYqty(id,prodInOut.getPi_class());
        }
     }
 
@@ -206,37 +198,51 @@ public class ProdInOutServiceImpl extends CommonBaseServiceImpl<ProdInOutMapper,
         if (null != formData) {
             id = formData.getMain().getId();
             if (StringUtils.isEmpty(id)) {
-                DocSavedDTO saveDTO = saveFormData(formData);
+                DocSavedDTO saveDTO = saveFormData(formData,true);
                 id = saveDTO.getId();
             }
-            singleAudit(id);
+            singleAudit(formData.getMain());
         }
         savedDTO.setId(id);
         return savedDTO;
     }
 
-    @Override
-    public int deleteItem(Long id) {
-        return prodIODetailMapper.deleteByPrimaryKey(id);
+    private void singleAudit(ProdInOutDTO prodInOutDTO) {
+        Map<String, Object> map = new HashMap<String, Object>();
+        map.put("inoutNo",prodInOutDTO.getPi_inoutno() );
+        map.put("class",prodInOutDTO.getPi_class() );
+        map.put("commitid",prodInOutDTO.getPi_recordmanid());
+        map.put("companyid",prodInOutDTO.getCompanyId());
+        map.put("result","");
+        warehouseApi.callProcedure(map);
+        Object result =  map.get("result");
+        System.out.println("result");
+        if (!StringUtils.isEmpty(result))
+            System.out.println(result);
+        //记录日志
     }
 
 
-
-    private void singleAudit(Long id) {
-        ProdInOut prodInOut = new ProdInOut();
-        prodInOut.setId(id);
-        prodInOut.setPi_status(Status.AUDITED.getDisplay());
-        prodInOut.setPi_statuscode(Status.AUDITED.name());
-        getMapper().updateByPrimaryKeySelective(prodInOut);
+    @Override
+    public void deleteItem(Long id) {
+        ProdInOut prodInOut = getMapper().selectByPrimaryKey(id);
+        prodIODetailMapper.deleteByPrimaryKey(prodInOut.getId());
         //更新已转数
-        updatePurchaseYqty(id);
+        updateYqty(prodInOut.getId(),prodInOut.getPi_class());
     }
 
-    private void updatePurchaseYqty(Long id) {
+    private void updateYqty(Long id,String piclass) {
         //更新已转数
         prodIODetailMapper.updatePurchaseYqty(id);
         //更新采购单入库状态
 //        purchaseMapper.updateAcceptstatus(id);
+        if ("采购验收单".equals(piclass)){
+            purchasedetailMapper.updatePurchaseYqty(id);
+        }else if ("采购验退单".equals(piclass)){
+
+        }
+
+
     }
 
     @Override

+ 10 - 0
applications/purchase/purchase-server/src/main/resources/mapper/PurchasedetailMapper.xml

@@ -414,4 +414,14 @@
     select * from purchasedetail a left join product b on pr_id=pd_prodid and a.companyid = b.companyid
       where pd_puid=#{pu_id} order by pd_detno
   </select>
+
+  <update id="updatePurchaseYqty" parameterType="long" >
+update purchasedetail
+set pd_yqty=ifnull((select sum(IFNULL(pd_inqty,0)-IFNULL(pd_outqty,0))
+from prodiodetail
+where ((pd_piclass='采购验退单'  and pd_status=99 ) or pd_piclass='采购验收单') and IFNULL(pd_orderid,0)=purchasedetail.pd_id),0)
+where exists (select 1 from prodiodetail where pd_piid=#{id,jdbcType=INTEGER} and IFNULL(prodiodetail.pd_orderid,0)=purchasedetail.pd_id)
+  </update>
+
+
 </mapper>

+ 1 - 1
applications/purchase/purchase-server/src/test/PurchaseTest.java

@@ -17,6 +17,6 @@ public class PurchaseTest {
 
     @Test
     public void test(){
-        prodInOutService.post(new Long(11));
+
     }
 }