Quellcode durchsuchen

发运明细删除、修改、提交

zengtx vor 2 Jahren
Ursprung
Commit
c15e478d7f

+ 98 - 14
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/shippingDetails/controller/SyShippingDetailsController.java

@@ -102,9 +102,10 @@ public class SyShippingDetailsController extends JeecgController<SyShippingDetai
 			if (syShippingDetailsItemList.size() == 0) {
 				throw new JeecgBootException("表体信息不能为空!");
 			}
-			syShippingDetailsService.syShippingDetailsAdd(syShippingDetails);
-			result.success("添加成功!");
-			result.setResult(syShippingDetails);
+			SyShippingDetails syShippingDetailstEntity = syShippingDetailsService.syShippingDetailsAdd(syShippingDetails);
+			result.setSuccess(true);
+			result.setMessage("添加成功!");
+			result.setResult(syShippingDetailstEntity);
 		}catch (Exception ex){
 			ex.printStackTrace();
 			log.error("保存失败:" + ex.getMessage());
@@ -124,9 +125,33 @@ public class SyShippingDetailsController extends JeecgController<SyShippingDetai
 	@AutoLog(value = "发运明细主表-编辑")
 	@ApiOperation(value="发运明细主表-编辑", notes="发运明细主表-编辑")
 	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
-	public Result<?> edit(@RequestBody SyShippingDetails syShippingDetails) {
-		syShippingDetailsService.updateById(syShippingDetails);
-		return Result.OK("编辑成功!");
+	public Result<SyShippingDetails> edit(@RequestBody SyShippingDetails syShippingDetails) {
+
+		Result<SyShippingDetails> result = new Result<SyShippingDetails>();
+
+		try {
+			String id = syShippingDetails.getId();
+			if (oConvertUtils.isEmpty(id)){
+				throw new JeecgBootException("对象ID不能为空");
+			}
+			List<SyShippingDetailsItem> syShippingDetailsItemList = syShippingDetails.getSyShippingDetailsItemList();
+			if(syShippingDetailsItemList.size()==0){
+				throw new JeecgBootException("表体数据不能为空!");
+			}
+			SyShippingDetails shippingDetails = syShippingDetailsService.syShippingDetailsEdit(syShippingDetails);
+			result.setMessage("修改成功");
+			result.setSuccess(true);
+			result.setResult(shippingDetails);
+
+		}catch (Exception ex){
+			ex.printStackTrace();
+			log.error("保存失败:" + ex.getMessage());
+			result.error500("保存失败:" + ex.getMessage());
+		}
+
+
+
+		return result;
 	}
 	
 	/**
@@ -146,15 +171,36 @@ public class SyShippingDetailsController extends JeecgController<SyShippingDetai
 	/**
 	 * 批量删除
 	 *
-	 * @param ids
+	 * @param id
 	 * @return
 	 */
 	@AutoLog(value = "发运明细主表-批量删除")
 	@ApiOperation(value="发运明细主表-批量删除", notes="发运明细主表-批量删除")
 	@DeleteMapping(value = "/deleteBatch")
-	public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
-		this.syShippingDetailsService.removeByIds(Arrays.asList(ids.split(",")));
-		return Result.OK("批量删除成功!");
+	public Result<Integer> deleteBatch(@RequestParam(name="id",required=true) String id) {
+
+		Result<Integer> result = new Result<>();
+
+		if(oConvertUtils.isEmpty(id)){
+			throw new JeecgBootException("ID不能为空!");
+		}
+		//判断是由有该数据
+		SyShippingDetails shippingDetails = syShippingDetailsService.getById(id);
+		if(oConvertUtils.isEmpty(shippingDetails)){
+			throw new JeecgBootException("未找到该数据!");
+		}
+		//判断是否已提交
+		if(shippingDetails.getState().equals("1")){
+			throw new JeecgBootException("该单据已提交,不允许删除!");
+		}
+
+		int size = syShippingDetailsService.syShippingDetailsDelete(id);
+		if(size>0){
+			result.setSuccess(true);
+			result.setMessage("删除成功");
+			result.setResult(size);
+		}
+		return result;
 	}
 	
 	/**
@@ -221,10 +267,10 @@ public class SyShippingDetailsController extends JeecgController<SyShippingDetai
 	  * @param response
 	  * @return
 	  */
-	 @AutoLog(value = "发运明细查询订单")
-	 @ApiOperation(value="发运明细查询订单", notes="发运明细查询订单")
-  @GetMapping(value = "/queryOrderData")
-  public Result<IPage<OrderDataVo>> queryOrderData(String orderNumber,String pkOrg,
+	  @AutoLog(value = "发运明细查询订单")
+	  @ApiOperation(value="发运明细查询订单", notes="发运明细查询订单")
+	  @GetMapping(value = "/queryOrderData")
+	  public Result<IPage<OrderDataVo>> queryOrderData(String orderNumber,String pkOrg,
 												   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
 												   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
 												   HttpServletRequest request, HttpServletResponse response){
@@ -251,4 +297,42 @@ public class SyShippingDetailsController extends JeecgController<SyShippingDetai
 
 	  return result;
   }
+
+
+  @AutoLog(value = "发运明细提交")
+  @ApiOperation(value = "发运明细提交",notes="发运明细提交")
+  @PostMapping(value = "/syShippingDetailsSubmit")
+  public Result<SyShippingDetails> syShippingDetailsSubmit(@RequestParam(name="id",required=true) String id) {
+
+	  Result<SyShippingDetails> result = new Result<>();
+
+	  try {
+
+		  if(oConvertUtils.isEmpty(id)){
+			  throw new JeecgBootException("未拿到ID");
+		  }
+		  //判断是否有该数据
+		  SyShippingDetails shippingDetails = syShippingDetailsService.getById(id);
+		  if(oConvertUtils.isEmpty(shippingDetails)){
+			  throw new JeecgBootException("未找到该数据!");
+		  }
+		  //判断是否已提交
+		  if(shippingDetails.getState().equals("1")){
+			  throw new JeecgBootException("该单据已提交,不允许再次提交!");
+		  }
+		  shippingDetails.setState("1");
+		  syShippingDetailsService.updateById(shippingDetails);
+
+		  result.setMessage("提交成功!");
+		  result.setSuccess(true);
+		  result.setResult(shippingDetails);
+
+	  }catch (Exception ex){
+		  ex.printStackTrace();
+		  log.error("提交失败:" + ex.getMessage());
+		  result.error500("提交失败:" + ex.getMessage());
+	  }
+
+	  return  result;
+  }
 }

+ 4 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/shippingDetails/entity/SyShippingDetails.java

@@ -116,6 +116,10 @@ public class SyShippingDetails {
 	@Excel(name = "英文品名", width = 15)
     @ApiModelProperty(value = "英文品名")
 	private java.lang.String englishProductName;
+	/**状态*/
+	@Excel(name = "状态", width = 15)
+	@ApiModelProperty(value = "状态")
+	private String state;
 
 	//子表集合
 	@TableField(exist = false)

+ 1 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/shippingDetails/mapper/SyShippingDetailsMapper.java

@@ -24,4 +24,5 @@ public interface SyShippingDetailsMapper extends BaseMapper<SyShippingDetails> {
     //发运明细分页列表查询
     public IPage<SyShippingDetailsVo> queryShippingDetails(IPage<SyShippingDetailsVo> page, @Param("ew") QueryWrapper<SyShippingDetailsVo> queryWrapper);
 
+    public void syshippingDetailsItemUpdate(@Param("shippingDetailsId") String shippingDetailsId);
 }

+ 7 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/shippingDetails/mapper/xml/SyShippingDetailsMapper.xml

@@ -30,9 +30,15 @@
     b.english_name as englishName,b.garment_factory as garmentFactory from sy_shipping_details a
 left join sy_shipping_details_item b
 on a.id = b.shipping_details_id and b.del_flag = 0
-where a.del_flag = 0 order by a.document_no desc) as t
+where a.del_flag = 0 group by a.id order by a.document_no desc) as t
 ${ew.customSqlSegment}
 
 </select>
+    
+    <update id="syshippingDetailsItemUpdate">
+        update sy_shipping_details_item
+        set del_flag = '1'
+        where shipping_details_id = #{shippingDetailsId}
+    </update>
 
 </mapper>

+ 11 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/shippingDetails/service/ISyShippingDetailsService.java

@@ -29,4 +29,15 @@ public interface ISyShippingDetailsService extends IService<SyShippingDetails> {
     //发运明细分页列表查询
     public IPage<SyShippingDetailsVo> queryShippingDetails(IPage<SyShippingDetailsVo> page, QueryWrapper<SyShippingDetailsVo> queryWrapper);
 
+    //修改发运明细
+    public SyShippingDetails syShippingDetailsEdit(SyShippingDetails syShippingDetails);
+
+    //删除
+    public int syShippingDetailsDelete(String id);
+
+    //提交
+    public int syShippingDetailsSubmit(String id);
+
+    //子表删除
+    public void syshippingDetailsItemUpdate(String shippingDetailsId);
 }

+ 85 - 6
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/shippingDetails/service/impl/SyShippingDetailsServiceImpl.java

@@ -2,6 +2,7 @@ package org.jeecg.modules.documents.shippingDetails.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.jeecg.common.exception.JeecgBootException;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.documents.shippingDetails.entity.SyShippingDetails;
 import org.jeecg.modules.documents.shippingDetails.entity.SyShippingDetailsItem;
@@ -14,9 +15,11 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -26,6 +29,7 @@ import java.util.List;
  * @Version: V1.0
  */
 @Service
+@Transactional
 public class SyShippingDetailsServiceImpl extends ServiceImpl<SyShippingDetailsMapper, SyShippingDetails> implements ISyShippingDetailsService {
 
     @Resource
@@ -55,20 +59,23 @@ public class SyShippingDetailsServiceImpl extends ServiceImpl<SyShippingDetailsM
     public SyShippingDetails syShippingDetailsAdd(SyShippingDetails syShippingDetails) {
 
         List<SyShippingDetailsItem> syShippingDetailsItemList = new ArrayList<>();
-
+         String syId = syShippingDetails.getId();
          String id = oConvertUtils.id();
          //设置ID
          syShippingDetails.setId(id);
-         //获取最新
+         //获取最新单据
          QueryWrapper<SyShippingDetails> queryWrapper = new QueryWrapper<>();
          queryWrapper.eq("del_flag",0).orderByDesc("document_no").last("limit 0,1");
          List<SyShippingDetails> documentNoList = list(queryWrapper);
          if(documentNoList.size()==0){
              syShippingDetails.setDocumentNo("1");
-         }else{    
-             int codeno = Integer.parseInt(documentNoList.get(0).getDocumentNo());
-             Integer documentNo = codeno+1;
-             syShippingDetails.setDocumentNo(documentNo.toString());
+         }else{
+             if(oConvertUtils.isEmpty(syId)){
+                 int codeno = Integer.parseInt(documentNoList.get(0).getDocumentNo());
+                 Integer documentNo = codeno+1;
+                 syShippingDetails.setDocumentNo(documentNo.toString());//单据号
+             }
+             syShippingDetails.setState("0");//状态
          }
 
          //新增子表
@@ -97,4 +104,76 @@ public class SyShippingDetailsServiceImpl extends ServiceImpl<SyShippingDetailsM
     public IPage<SyShippingDetailsVo> queryShippingDetails(IPage<SyShippingDetailsVo> page, QueryWrapper<SyShippingDetailsVo> queryWrapper) {
         return syShippingDetailsMapper.queryShippingDetails(page, queryWrapper);
     }
+
+
+    /**
+     * 发运明细修改
+     * @param syShippingDetails
+     * @return
+     */
+    @Override
+    public SyShippingDetails syShippingDetailsEdit(SyShippingDetails syShippingDetails) {
+
+        SyShippingDetails entity = syShippingDetails;
+        String id = syShippingDetails.getId();
+        //先删除子表
+        syShippingDetailsMapper.syshippingDetailsItemUpdate(id);
+        //删除主表
+        SyShippingDetails syShippingDetailsEntity = getById(id);
+        if(syShippingDetailsEntity.getState().equals("1")){
+            throw new JeecgBootException("提交单据不能修改!");
+        }
+        syShippingDetailsEntity.setDelFlag("1");
+        updateById(syShippingDetailsEntity);
+        //新增
+        syShippingDetailsAdd(entity);
+
+        return entity;
+    }
+
+    /**
+     * 发运明细删除
+     * @param id
+     * @return
+     */
+    @Override
+    public int syShippingDetailsDelete(String id) {
+
+        int i = 0;
+        SyShippingDetails syShippingDetails = getById(id);
+        if(oConvertUtils.isNotEmpty(syShippingDetails)){
+            //删除子表
+            syShippingDetailsMapper.syshippingDetailsItemUpdate(id);
+            //删除主表
+            syShippingDetails.setDelFlag("1");
+            boolean boo = updateById(syShippingDetails);
+            if(boo){
+                i = 1;
+            }
+        }
+
+        return i;
+    }
+
+
+    /**
+     * 发运明细提交
+     * @param id
+     * @return
+     */
+    @Override
+    public int syShippingDetailsSubmit(String id) {
+
+        return 0;
+    }
+
+
+    /**
+     * 发运明细子表删除
+     * @param shippingDetailsId
+     */
+    @Override
+    public void syshippingDetailsItemUpdate(String shippingDetailsId) {
+        syShippingDetailsMapper.syshippingDetailsItemUpdate(shippingDetailsId);
+    }
 }