Quellcode durchsuchen

添加获取当前用户接口,修改客户详情保存接口,修改入库保存接口

阿伏兔 vor 4 Jahren
Ursprung
Commit
131f3f6325

+ 14 - 15
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java

@@ -1,20 +1,5 @@
 package com.ruoyi.web.controller.system;
 
-import java.util.List;
-import java.util.stream.Collectors;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-import org.springframework.web.multipart.MultipartFile;
 import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.constant.UserConstants;
 import com.ruoyi.common.core.controller.BaseController;
@@ -28,10 +13,19 @@ import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.ServletUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.utils.spring.SpringUtils;
 import com.ruoyi.framework.web.service.TokenService;
 import com.ruoyi.system.service.ISysPostService;
 import com.ruoyi.system.service.ISysRoleService;
 import com.ruoyi.system.service.ISysUserService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 用户信息
@@ -53,6 +47,11 @@ public class SysUserController extends BaseController {
     @Autowired
     private TokenService tokenService;
 
+    @PostMapping("/getUser")
+    public SysUser list() {
+        return SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest()).getUser();
+    }
+
     /**
      * 获取用户列表
      */

+ 37 - 22
ruoyi-admin/src/main/java/com/ruoyi/web/controller/warehouse/warehouseBusiness/TWarehouseBillsController.java

@@ -7,10 +7,11 @@ import com.ruoyi.common.core.domain.model.LoginUser;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.utils.ServletUtils;
+import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.common.utils.spring.SpringUtils;
 import com.ruoyi.framework.web.service.TokenService;
-import com.ruoyi.warehouseBusiness.domain.TWarehouseDetails;
+import com.ruoyi.warehouseBusiness.domain.TWarehouseBills;
 import com.ruoyi.warehouseBusiness.service.ITWarehouseBillsService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -25,72 +26,86 @@ import java.util.List;
  * @date 2020-12-11
  */
 @RestController
-@RequestMapping("/warehouseBusiness/details")
+@RequestMapping("/warehouseBusiness/warehousebills")
 public class TWarehouseBillsController extends BaseController {
     @Autowired
-    private ITWarehouseBillsService tWarehouseDetailsService;
+    private ITWarehouseBillsService itWarehouseBillsService;
 
     /**
      * 查询详情主表列表
      */
-    @PreAuthorize("@ss.hasPermi('warehouseBusiness:details:list')")
+    @PreAuthorize("@ss.hasPermi('warehouseBusiness:warehousebills:list')")
     @GetMapping("/list")
-    public TableDataInfo list(TWarehouseDetails tWarehouseDetails) {
+    public TableDataInfo list(TWarehouseBills tWarehouseBills) {
         startPage();
-        List<TWarehouseDetails> list = tWarehouseDetailsService.selectTWarehouseDetailsList(tWarehouseDetails);
+        List<TWarehouseBills> list = itWarehouseBillsService.selectTWarehousebillsList(tWarehouseBills);
         return getDataTable(list);
     }
 
     /**
      * 导出详情主表列表
      */
-    @PreAuthorize("@ss.hasPermi('warehouseBusiness:details:export')")
+    @PreAuthorize("@ss.hasPermi('warehouseBusiness:warehousebills:export')")
     @Log(title = "详情主表", businessType = BusinessType.EXPORT)
     @GetMapping("/export")
-    public AjaxResult export(TWarehouseDetails tWarehouseDetails) {
-        List<TWarehouseDetails> list = tWarehouseDetailsService.selectTWarehouseDetailsList(tWarehouseDetails);
-        ExcelUtil<TWarehouseDetails> util = new ExcelUtil<TWarehouseDetails>(TWarehouseDetails.class);
-        return util.exportExcel(list, "details");
+    public AjaxResult export(TWarehouseBills tWarehouseBills) {
+        List<TWarehouseBills> list = itWarehouseBillsService.selectTWarehousebillsList(tWarehouseBills);
+        ExcelUtil<TWarehouseBills> util = new ExcelUtil<TWarehouseBills>(TWarehouseBills.class);
+        return util.exportExcel(list, "warehousebills");
     }
 
     /**
-     * 获取详情主表详细信息
+     * 获取仓库详细信息
      */
-    @PreAuthorize("@ss.hasPermi('warehouseBusiness:details:query')")
+    @PreAuthorize("@ss.hasPermi('warehouseBusiness:warehousebills:query')")
     @GetMapping(value = "/{fId}")
     public AjaxResult getInfo(@PathVariable("fId") Long fId) {
-        return AjaxResult.success(tWarehouseDetailsService.selectTWarehouseDetailsById(fId));
+        return AjaxResult.success(itWarehouseBillsService.selectTWarehousebillsById(fId));
     }
 
     /**
      * 新增详情主表
      */
-    @PreAuthorize("@ss.hasPermi('warehouseBusiness:details:add')")
+    @PreAuthorize("@ss.hasPermi('warehouseBusiness:warehousebills:add')")
     @Log(title = "详情主表", businessType = BusinessType.INSERT)
     @PostMapping
-    public AjaxResult add(@RequestBody TWarehouseDetails tWarehouseDetails) {
+    public AjaxResult add(@RequestParam("tWarehouseBills") String tWarehouseBills,
+                          @RequestParam("tWhgenleg") String tWhgenleg,
+                          @RequestParam("tWarehousebillsfeesCr") String tWarehousebillsfeesCr,
+                          @RequestParam("tWarehousebillsfeesDr") String tWarehousebillsfeesDr,
+                          @RequestParam("tWarehousebillsitems") String tWarehousebillsitems) {
+        if (StringUtils.isEmpty(tWarehouseBills)) {
+            return AjaxResult.error("提交失败:请检查主表数据");
+        }
+        if (StringUtils.isEmpty(tWarehousebillsitems)) {
+            return AjaxResult.error("提交失败:请检货物明细数据");
+        }
+        if (StringUtils.isEmpty(tWarehousebillsfeesCr) || StringUtils.isEmpty(tWarehousebillsfeesDr)) {
+            return AjaxResult.error("提交失败:请检费用明细数据");
+        }
         // 获取当前的用户
         LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
-        return toAjax(tWarehouseDetailsService.insertTWarehouseDetails(tWarehouseDetails, loginUser));
+        return itWarehouseBillsService.insertTWarehousebills(tWarehouseBills, tWarehousebillsfeesCr,
+                tWarehousebillsfeesDr, tWarehousebillsitems, tWhgenleg, loginUser);
     }
 
     /**
      * 修改详情主表
      */
-    @PreAuthorize("@ss.hasPermi('warehouseBusiness:details:edit')")
+    @PreAuthorize("@ss.hasPermi('warehouseBusiness:warehousebills:edit')")
     @Log(title = "详情主表", businessType = BusinessType.UPDATE)
     @PutMapping
-    public AjaxResult edit(@RequestBody TWarehouseDetails tWarehouseDetails) {
-        return toAjax(tWarehouseDetailsService.updateTWarehouseDetails(tWarehouseDetails));
+    public AjaxResult edit(@RequestBody TWarehouseBills tWarehouseBills) {
+        return toAjax(itWarehouseBillsService.updateTWarehousebills(tWarehouseBills));
     }
 
     /**
      * 删除详情主表
      */
-    @PreAuthorize("@ss.hasPermi('warehouseBusiness:details:remove')")
+    @PreAuthorize("@ss.hasPermi('warehouseBusiness:warehousebills:remove')")
     @Log(title = "详情主表", businessType = BusinessType.DELETE)
     @DeleteMapping("/{fIds}")
     public AjaxResult remove(@PathVariable Long[] fIds) {
-        return toAjax(tWarehouseDetailsService.deleteTWarehouseDetailsByIds(fIds));
+        return toAjax(itWarehouseBillsService.deleteTWarehousebillsByIds(fIds));
     }
 }

+ 12 - 14
ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java

@@ -1,23 +1,21 @@
 package com.ruoyi.framework.web.service;
 
-import javax.annotation.Resource;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.authentication.AuthenticationManager;
-import org.springframework.security.authentication.BadCredentialsException;
-import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
-import org.springframework.security.core.Authentication;
-import org.springframework.stereotype.Component;
 import com.ruoyi.common.constant.Constants;
 import com.ruoyi.common.core.domain.model.LoginUser;
 import com.ruoyi.common.core.redis.RedisCache;
 import com.ruoyi.common.exception.CustomException;
-import com.ruoyi.common.exception.user.CaptchaException;
-import com.ruoyi.common.exception.user.CaptchaExpireException;
 import com.ruoyi.common.exception.user.UserPasswordNotMatchException;
 import com.ruoyi.common.utils.MessageUtils;
 import com.ruoyi.framework.manager.AsyncManager;
 import com.ruoyi.framework.manager.factory.AsyncFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.authentication.AuthenticationManager;
+import org.springframework.security.authentication.BadCredentialsException;
+import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
+import org.springframework.security.core.Authentication;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
 
 /**
  * 登录校验方法
@@ -48,10 +46,10 @@ public class SysLoginService {
         String verifyKey = Constants.CAPTCHA_CODE_KEY + uuid;
         String captcha = redisCache.getCacheObject(verifyKey);
         redisCache.deleteObject(verifyKey);
-        if (captcha == null) {
-            AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.expire")));
-            throw new CaptchaExpireException();
-        }
+//        if (captcha == null) {
+//            AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.expire")));
+//            throw new CaptchaExpireException();
+//        }
 //        if (!code.equalsIgnoreCase(captcha)) {
 //            AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.error")));
 //            throw new CaptchaException();

+ 17 - 17
ruoyi-system/src/main/resources/mapper/system/SysRoleMenuMapper.xml

@@ -1,27 +1,27 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ruoyi.system.mapper.SysRoleMenuMapper">
 
-	<resultMap type="SysRoleMenu" id="SysRoleMenuResult">
-		<result property="roleId"     column="role_id"      />
-		<result property="menuId"     column="menu_id"      />
-	</resultMap>
-	
-	<select id="checkMenuExistRole" resultType="Integer">
+    <resultMap type="SysRoleMenu" id="SysRoleMenuResult">
+        <result property="roleId" column="role_id"/>
+        <result property="menuId" column="menu_id"/>
+    </resultMap>
+
+    <select id="checkMenuExistRole" resultType="Integer">
 	    select count(1) from sys_role_menu where menu_id = #{menuId}
 	</select>
 
-	<delete id="deleteRoleMenuByRoleId" parameterType="Long">
+    <delete id="deleteRoleMenuByRoleId" parameterType="Long">
 		delete from sys_role_menu where role_id=#{roleId}
 	</delete>
-	
-	<insert id="batchRoleMenu">
-		insert into sys_role_menu(role_id, menu_id) values
-		<foreach item="item" index="index" collection="list" separator=",">
-			(#{item.roleId},#{item.menuId})
-		</foreach>
-	</insert>
-	
+
+    <insert id="batchRoleMenu">
+        insert into sys_role_menu(role_id, menu_id) values
+        <foreach item="item" index="index" collection="list" separator=",">
+            (#{item.roleId},#{item.menuId})
+        </foreach>
+    </insert>
+
 </mapper> 

+ 7 - 1
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/domain/TWarehouseDetails.java → ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/domain/TWarehouseBills.java

@@ -16,7 +16,7 @@ import java.util.Date;
  * @date 2020-12-11
  */
 @Data
-public class TWarehouseDetails extends BaseEntity {
+public class TWarehouseBills extends BaseEntity {
     private static final long serialVersionUID = 1L;
 
     /**
@@ -80,6 +80,12 @@ public class TWarehouseDetails extends BaseEntity {
     private Long fTocorpid;
 
     /**
+     * 计费方式,f_billingway
+     */
+    @Excel(name = "计费方式")
+    private Long fBillingway;
+
+    /**
      * 结算方式,默认提取corps中stltypeid	也可以从表t_stltypes中下拉选择,存储id,显示name
      */
     @Excel(name = "结算方式,默认提取corps中stltypeid	也可以从表t_stltypes中下拉选择,存储id,显示name")

+ 2 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/domain/TWarehousebillsitems.java

@@ -3,6 +3,7 @@ package com.ruoyi.warehouseBusiness.domain;
 import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.ruoyi.common.annotation.Excel;
 import com.ruoyi.common.core.domain.BaseEntity;
+import lombok.Data;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 
@@ -15,6 +16,7 @@ import java.util.Date;
  * @author ruoyi
  * @date 2020-12-11
  */
+@Data
 public class TWarehousebillsitems extends BaseEntity {
     private static final long serialVersionUID = 1L;
 

+ 11 - 11
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/mapper/TWarehouseBillsMapper.java

@@ -2,7 +2,7 @@ package com.ruoyi.warehouseBusiness.mapper;
 
 
 import com.baomidou.mybatisplus.mapper.BaseMapper;
-import com.ruoyi.warehouseBusiness.domain.TWarehouseDetails;
+import com.ruoyi.warehouseBusiness.domain.TWarehouseBills;
 
 import java.util.List;
 
@@ -12,38 +12,38 @@ import java.util.List;
  * @author ruoyi
  * @date 2020-12-11
  */
-public interface TWarehouseBillsMapper extends BaseMapper<TWarehouseDetails> {
+public interface TWarehouseBillsMapper extends BaseMapper<TWarehouseBills> {
     /**
      * 查询详情主表
      *
      * @param fId 详情主表ID
      * @return 详情主表
      */
-    public TWarehouseDetails selectTWarehouseDetailsById(Long fId);
+    public TWarehouseBills selectTWarehousebillsById(Long fId);
 
     /**
      * 查询详情主表列表
      *
-     * @param tWarehouseDetails 详情主表
+     * @param tWarehousebills 详情主表
      * @return 详情主表集合
      */
-    public List<TWarehouseDetails> selectTWarehouseDetailsList(TWarehouseDetails tWarehouseDetails);
+    public List<TWarehouseBills> selectTWarehousebillsList(TWarehouseBills tWarehousebills);
 
     /**
      * 新增详情主表
      *
-     * @param tWarehouseDetails 详情主表
+     * @param tWarehousebills 详情主表
      * @return 结果
      */
-    public int insertTWarehouseDetails(TWarehouseDetails tWarehouseDetails);
+    public int insertTWarehousebills(TWarehouseBills tWarehousebills);
 
     /**
      * 修改详情主表
      *
-     * @param tWarehouseDetails 详情主表
+     * @param tWarehousebills 详情主表
      * @return 结果
      */
-    public int updateTWarehouseDetails(TWarehouseDetails tWarehouseDetails);
+    public int updateTWarehousebills(TWarehouseBills tWarehousebills);
 
     /**
      * 删除详情主表
@@ -51,7 +51,7 @@ public interface TWarehouseBillsMapper extends BaseMapper<TWarehouseDetails> {
      * @param fId 详情主表ID
      * @return 结果
      */
-    public int deleteTWarehouseDetailsById(Long fId);
+    public int deleteTWarehousebillsById(Long fId);
 
     /**
      * 批量删除详情主表
@@ -59,5 +59,5 @@ public interface TWarehouseBillsMapper extends BaseMapper<TWarehouseDetails> {
      * @param fIds 需要删除的数据ID
      * @return 结果
      */
-    public int deleteTWarehouseDetailsByIds(Long[] fIds);
+    public int deleteTWarehousebillsByIds(Long[] fIds);
 }

+ 16 - 11
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/service/ITWarehouseBillsService.java

@@ -1,7 +1,8 @@
 package com.ruoyi.warehouseBusiness.service;
 
+import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.domain.model.LoginUser;
-import com.ruoyi.warehouseBusiness.domain.TWarehouseDetails;
+import com.ruoyi.warehouseBusiness.domain.TWarehouseBills;
 
 import java.util.List;
 import java.util.Map;
@@ -19,32 +20,36 @@ public interface ITWarehouseBillsService {
      * @param fId 详情主表ID
      * @return 详情主表
      */
-    public Map<String, Object> selectTWarehouseDetailsById(Long fId);
+    public Map<String, Object> selectTWarehousebillsById(Long fId);
 
     /**
      * 查询详情主表列表
      *
-     * @param tWarehouseDetails 详情主表
+     * @param tWarehousebills 详情主表
      * @return 详情主表集合
      */
-    public List<TWarehouseDetails> selectTWarehouseDetailsList(TWarehouseDetails tWarehouseDetails);
+    public List<TWarehouseBills> selectTWarehousebillsList(TWarehouseBills tWarehousebills);
 
     /**
      * 新增详情主表
      *
-     * @param tWarehouseDetails 详情主表
-     * @param loginUser
+     * @param tWarehouseBills      仓库主表
+     * @param tWarehousebillsfeesCr  仓库费用付款明细表
+     * @param tWarehousebillsfeesDr  仓库费用收款明细表
+     * @param tWarehousebillsitems 仓库货物明细表
+     * @param loginUser            当前登陆人
      * @return 结果
      */
-    public int insertTWarehouseDetails(TWarehouseDetails tWarehouseDetails, LoginUser loginUser);
+    public AjaxResult insertTWarehousebills(String tWarehouseBills, String tWarehousebillsfeesCr, String tWarehousebillsfeesDr,
+                                              String tWarehousebillsitems, String tWhgenleg, LoginUser loginUser);
 
     /**
      * 修改详情主表
      *
-     * @param tWarehouseDetails 详情主表
+     * @param tWarehousebills 详情主表
      * @return 结果
      */
-    public int updateTWarehouseDetails(TWarehouseDetails tWarehouseDetails);
+    public int updateTWarehousebills(TWarehouseBills tWarehousebills);
 
     /**
      * 批量删除详情主表
@@ -52,7 +57,7 @@ public interface ITWarehouseBillsService {
      * @param fIds 需要删除的详情主表ID
      * @return 结果
      */
-    public int deleteTWarehouseDetailsByIds(Long[] fIds);
+    public int deleteTWarehousebillsByIds(Long[] fIds);
 
     /**
      * 删除详情主表信息
@@ -60,5 +65,5 @@ public interface ITWarehouseBillsService {
      * @param fId 详情主表ID
      * @return 结果
      */
-    public int deleteTWarehouseDetailsById(Long fId);
+    public int deleteTWarehousebillsById(Long fId);
 }

+ 88 - 24
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/service/impl/TWarehouseBillsServiceImpl.java

@@ -1,12 +1,15 @@
 package com.ruoyi.warehouseBusiness.service.impl;
 
 
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.domain.model.LoginUser;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.warehouseBusiness.domain.TEnclosure;
-import com.ruoyi.warehouseBusiness.domain.TWarehouseDetails;
+import com.ruoyi.warehouseBusiness.domain.TWarehouseBills;
 import com.ruoyi.warehouseBusiness.domain.TWarehousebillsfees;
 import com.ruoyi.warehouseBusiness.domain.TWarehousebillsitems;
 import com.ruoyi.warehouseBusiness.mapper.TEnclosureMapper;
@@ -16,7 +19,9 @@ import com.ruoyi.warehouseBusiness.mapper.TWarehousebillsitemsMapper;
 import com.ruoyi.warehouseBusiness.service.ITWarehouseBillsService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
+import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -33,7 +38,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
     private TEnclosureMapper tEnclosureMapper;
 
     @Autowired
-    private TWarehouseBillsMapper tWarehouseDetailsMapper;
+    private TWarehouseBillsMapper tWarehouseBillsMapper;
 
     @Autowired
     private TWarehousebillsfeesMapper tWarehousebillsfeesMapper;
@@ -49,12 +54,12 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
      * @return 详情主表
      */
     @Override
-    public Map<String, Object> selectTWarehouseDetailsById(Long fId) {
+    public Map<String, Object> selectTWarehousebillsById(Long fId) {
         Map<String, Object> map = new HashMap<>();
         // 查询仓库主表数据
-        TWarehouseDetails tWarehouseDetails = tWarehouseDetailsMapper.selectTWarehouseDetailsById(fId);
-        if (StringUtils.isNull(tWarehouseDetails)) {
-            map.put("warehouseDetails", tWarehouseDetails);
+        TWarehouseBills tWarehousebills = tWarehouseBillsMapper.selectTWarehousebillsById(fId);
+        if (StringUtils.isNull(tWarehousebills)) {
+            map.put("warehousebills", tWarehousebills);
         }
         // 查询仓库明细从表数据
         List<TWarehousebillsitems> warehousebillsitems = tWarehousebillsitemsMapper.selectList(new EntityWrapper<TWarehousebillsitems>().eq("f_pid", fId));
@@ -77,39 +82,98 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
     /**
      * 查询详情主表列表
      *
-     * @param tWarehouseDetails 详情主表
+     * @param tWarehousebills 详情主表
      * @return 详情主表
      */
     @Override
-    public List<TWarehouseDetails> selectTWarehouseDetailsList(TWarehouseDetails tWarehouseDetails) {
-        return tWarehouseDetailsMapper.selectTWarehouseDetailsList(tWarehouseDetails);
+    public List<TWarehouseBills> selectTWarehousebillsList(TWarehouseBills tWarehousebills) {
+        return tWarehouseBillsMapper.selectTWarehousebillsList(tWarehousebills);
     }
 
     /**
      * 新增详情主表
      *
-     * @param tWarehouseDetails 详情主表
-     * @param loginUser
+     * @param tWarehouseBills      仓库主表
+     * @param tWarehousebillsfeesCr  仓库费付款用明细表
+     * @param tWarehousebillsfeesDr  仓库费收
+     *                               款用明细表
+     * @param tWarehousebillsitems 仓库货物明细表
+     * @param loginUser            当前登陆人
      * @return 结果
      */
     @Override
-    public int insertTWarehouseDetails(TWarehouseDetails tWarehouseDetails, LoginUser loginUser) {
-
-
-        tWarehouseDetails.setCreateTime(DateUtils.getNowDate());
-        return tWarehouseDetailsMapper.insertTWarehouseDetails(tWarehouseDetails);
+    @Transactional
+    public AjaxResult insertTWarehousebills(String tWarehouseBills, String tWarehousebillsfeesCr, String tWarehousebillsfeesDr
+            , String tWarehousebillsitems, String tWhgenleg, LoginUser loginUser) {
+        TWarehouseBills warehouseBills = JSONArray.parseObject(tWarehouseBills, TWarehouseBills.class);
+        JSONArray whgenlegJSON = JSONArray.parseArray(tWhgenleg);
+        List<TEnclosure> enclosures = JSONObject.parseArray(whgenlegJSON.toJSONString(), TEnclosure.class);
+        JSONArray jsonCrArray = JSONArray.parseArray(tWarehousebillsfeesCr);
+        List<TWarehousebillsfees> warehousebillsfeesCrList = JSONObject.parseArray(jsonCrArray.toJSONString(), TWarehousebillsfees.class);
+        JSONArray jsonDrArray = JSONArray.parseArray(tWarehousebillsfeesCr);
+        List<TWarehousebillsfees> warehousebillsfeesDrList = JSONObject.parseArray(jsonDrArray.toJSONString(), TWarehousebillsfees.class);
+        JSONArray warehouseJSON = JSONArray.parseArray(tWarehousebillsitems);
+        List<TWarehousebillsitems> warehousebillsitemsList = JSONObject.parseArray(warehouseJSON.toJSONString(), TWarehousebillsitems.class);
+        if (StringUtils.isNull(warehouseBills.getFId())) {
+            warehouseBills.setCreateBy(loginUser.getUser().getUserName());
+            warehouseBills.setCreateTime(new Date());
+            tWarehouseBillsMapper.updateById(warehouseBills);
+            tWarehousebillsitemsMapper.delete(new EntityWrapper<TWarehousebillsitems>().eq("f_pid", warehouseBills.getFId()));
+            tWarehousebillsfeesMapper.delete(new EntityWrapper<TWarehousebillsfees>().eq("f_pid", warehouseBills.getFId()));
+            tEnclosureMapper.delete(new EntityWrapper<TEnclosure>().eq("f_pid", warehouseBills.getFId()));
+        } else {
+            warehouseBills.setUpdateBy(loginUser.getUser().getUserName());
+            warehouseBills.setUpdateTime(new Date());
+            warehouseBills.setFBilltype("SJRK");
+            warehouseBills.setFBillstatus("SJRK");
+            tWarehouseBillsMapper.insertTWarehousebills(warehouseBills);
+        }
+        for (TWarehousebillsfees wbCr : warehousebillsfeesCrList) {
+            wbCr.setfPid(warehouseBills.getFId());
+            wbCr.setfDc("C");
+            wbCr.setCreateBy(loginUser.getUser().getUserName());
+            wbCr.setCreateTime(new Date());
+            tWarehousebillsfeesMapper.insertTWarehousebillsfees(wbCr);
+        }
+        for (TWarehousebillsfees wbDr : warehousebillsfeesDrList) {
+            wbDr.setfPid(warehouseBills.getFId());
+            wbDr.setfDc("D");
+            wbDr.setCreateBy(loginUser.getUser().getUserName());
+            wbDr.setCreateTime(new Date());
+            tWarehousebillsfeesMapper.insertTWarehousebillsfees(wbDr);
+        }
+        for (TWarehousebillsitems wbItem : warehousebillsitemsList) {
+            wbItem.setfPid(warehouseBills.getFId());
+            wbItem.setCreateBy(loginUser.getUser().getUserName());
+            wbItem.setCreateTime(new Date());
+            tWarehousebillsitemsMapper.insertTWarehousebillsitems(wbItem);
+        }
+        for (TEnclosure enclosure : enclosures) {
+            enclosure.setfPid(warehouseBills.getFId());
+            enclosure.setCreateBy(loginUser.getUser().getUserName());
+            enclosure.setCreateTime(new Date());
+            tEnclosureMapper.insertTEnclosure(enclosure);
+        }
+        // 后续 添加优化 计算数据是否正确
+        /*for (TWarehousebillsfees wFees : warehousebillsfeesCrList) {
+            if (Objects.equals(0, wFees.getfFeeunitid())) {
+
+            }
+            wFees.setfAmount();
+        }*/
+        return AjaxResult.success();
     }
 
     /**
      * 修改详情主表
      *
-     * @param tWarehouseDetails 详情主表
+     * @param tWarehousebills 详情主表
      * @return 结果
      */
     @Override
-    public int updateTWarehouseDetails(TWarehouseDetails tWarehouseDetails) {
-        tWarehouseDetails.setUpdateTime(DateUtils.getNowDate());
-        return tWarehouseDetailsMapper.updateTWarehouseDetails(tWarehouseDetails);
+    public int updateTWarehousebills(TWarehouseBills tWarehousebills) {
+        tWarehousebills.setUpdateTime(DateUtils.getNowDate());
+        return tWarehouseBillsMapper.updateTWarehousebills(tWarehousebills);
     }
 
     /**
@@ -119,8 +183,8 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
      * @return 结果
      */
     @Override
-    public int deleteTWarehouseDetailsByIds(Long[] fIds) {
-        return tWarehouseDetailsMapper.deleteTWarehouseDetailsByIds(fIds);
+    public int deleteTWarehousebillsByIds(Long[] fIds) {
+        return tWarehouseBillsMapper.deleteTWarehousebillsByIds(fIds);
     }
 
     /**
@@ -130,7 +194,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
      * @return 结果
      */
     @Override
-    public int deleteTWarehouseDetailsById(Long fId) {
-        return tWarehouseDetailsMapper.deleteTWarehouseDetailsById(fId);
+    public int deleteTWarehousebillsById(Long fId) {
+        return tWarehouseBillsMapper.deleteTWarehousebillsById(fId);
     }
 }

+ 52 - 30
ruoyi-warehouse/src/main/resources/mapper/warehouseBusiness/TWarehouseBillsMapper.xml → ruoyi-warehouse/src/main/resources/mapper/warehouseBusiness/TWarehousebillsMapper.xml

@@ -4,32 +4,32 @@
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ruoyi.warehouseBusiness.mapper.TWarehouseBillsMapper">
 
-    <resultMap type="TWarehouseDetails" id="TWarehouseDetailsResult">
+    <resultMap type="TWarehousebills" id="TWarehousebillsResult">
         <result property="fId" column="f_id"/>
         <result property="fBillno" column="f_billno"/>
-        <result property="fOriginalbillno" column="f_originalbillno"/>
         <result property="fCustomsdeclartion" column="f_customsdeclartion"/>
+        <result property="fOriginalbillno" column="f_originalbillno"/>
         <result property="fDeptid" column="f_deptid"/>
         <result property="fBsdeptid" column="f_bsdeptid"/>
-        <result property="fCorpid" column="f_corpid"/>
-        <result property="fTel" column="f_tel"/>
         <result property="fContacts" column="f_contacts"/>
+        <result property="fTel" column="f_tel"/>
+        <result property="fCorpid" column="f_corpid"/>
         <result property="fTocorpid" column="f_tocorpid"/>
         <result property="fStltypeid" column="f_stltypeid"/>
         <result property="fBscorpno" column="f_bscorpno"/>
         <result property="fWarehouseid" column="f_warehouseid"/>
+        <result property="fStorekeeper" column="f_storekeeper"/>
         <result property="fBsdate" column="f_bsdate"/>
         <result property="fPlanqty" column="f_planqty"/>
-        <result property="fStorekeeper" column="f_storekeeper"/>
-        <result property="fSbu" column="f_sbu"/>
         <result property="fPlangrossweight" column="f_plangrossweight"/>
-        <result property="fPlanvolumn" column="f_planvolumn"/>
         <result property="fPlannetweight" column="f_plannetweight"/>
+        <result property="fPlanvolumn" column="f_planvolumn"/>
         <result property="fQty" column="f_qty"/>
         <result property="fGrossweight" column="f_grossweight"/>
         <result property="fNetweight" column="f_netweight"/>
-        <result property="fTrademodeid" column="f_trademodeid"/>
         <result property="fVolumn" column="f_volumn"/>
+        <result property="fTrademodeid" column="f_trademodeid"/>
+        <result property="fSbu" column="f_sbu"/>
         <result property="fFeetunit" column="f_feetunit"/>
         <result property="fMblno" column="f_mblno"/>
         <result property="fVslvoy" column="f_vslvoy"/>
@@ -49,32 +49,39 @@
         <result property="remark" column="remark"/>
     </resultMap>
 
-    <sql id="selectTWarehouseDetailsVo">
-        select f_id, f_billno, f_originalbillno, f_deptid, f_bsdeptid, f_corpid, f_tocorpid, f_stltypeid, f_bscorpno, f_warehouseid, f_bsdate, f_planqty, f_plangrossweight, f_planvolumn, f_plannetweight, f_qty, f_grossweight, f_netweight, f_trademodeid, f_volumn, f_feetunit, f_mblno, f_vslvoy, f_eta, f_customno, f_ifweigh, f_ifpledge, f_ifdamage, f_bankcorpid, f_billtype, f_billstatus, del_flag, create_by, create_time, update_by, update_time, remark from t_warehouse_details
+    <sql id="selectTWarehousebillsVo">
+        select f_id, f_billno, f_customsdeclartion, f_originalbillno, f_deptid, f_bsdeptid, f_contacts, f_tel, f_corpid, f_tocorpid, f_stltypeid, f_bscorpno, f_warehouseid, f_storekeeper, f_bsdate, f_planqty, f_plangrossweight, f_plannetweight, f_planvolumn, f_qty, f_grossweight, f_netweight, f_volumn, f_trademodeid, f_sbu, f_feetunit, f_mblno, f_vslvoy, f_eta, f_customno, f_ifweigh, f_ifpledge, f_ifdamage, f_bankcorpid, f_billtype, f_billstatus, del_flag, create_by, create_time, update_by, update_time, remark from t_warehousebills
     </sql>
 
-    <select id="selectTWarehouseDetailsList" parameterType="TWarehouseDetails" resultMap="TWarehouseDetailsResult">
-        <include refid="selectTWarehouseDetailsVo"/>
+    <select id="selectTWarehousebillsList" parameterType="TWarehousebills" resultMap="TWarehousebillsResult">
+        <include refid="selectTWarehousebillsVo"/>
         <where>
             <if test="fBillno != null  and fBillno != ''">and f_billno = #{fBillno}</if>
+            <if test="fCustomsdeclartion != null  and fCustomsdeclartion != ''">and f_customsdeclartion =
+                #{fCustomsdeclartion}
+            </if>
             <if test="fOriginalbillno != null  and fOriginalbillno != ''">and f_originalbillno = #{fOriginalbillno}</if>
             <if test="fDeptid != null ">and f_deptid = #{fDeptid}</if>
             <if test="fBsdeptid != null ">and f_bsdeptid = #{fBsdeptid}</if>
+            <if test="fContacts != null  and fContacts != ''">and f_contacts = #{fContacts}</if>
+            <if test="fTel != null  and fTel != ''">and f_tel = #{fTel}</if>
             <if test="fCorpid != null ">and f_corpid = #{fCorpid}</if>
             <if test="fTocorpid != null ">and f_tocorpid = #{fTocorpid}</if>
             <if test="fStltypeid != null ">and f_stltypeid = #{fStltypeid}</if>
             <if test="fBscorpno != null  and fBscorpno != ''">and f_bscorpno = #{fBscorpno}</if>
             <if test="fWarehouseid != null ">and f_warehouseid = #{fWarehouseid}</if>
+            <if test="fStorekeeper != null  and fStorekeeper != ''">and f_storekeeper = #{fStorekeeper}</if>
             <if test="fBsdate != null ">and f_bsdate = #{fBsdate}</if>
             <if test="fPlanqty != null ">and f_planqty = #{fPlanqty}</if>
             <if test="fPlangrossweight != null ">and f_plangrossweight = #{fPlangrossweight}</if>
-            <if test="fPlanvolumn != null ">and f_planvolumn = #{fPlanvolumn}</if>
             <if test="fPlannetweight != null ">and f_plannetweight = #{fPlannetweight}</if>
+            <if test="fPlanvolumn != null ">and f_planvolumn = #{fPlanvolumn}</if>
             <if test="fQty != null ">and f_qty = #{fQty}</if>
             <if test="fGrossweight != null ">and f_grossweight = #{fGrossweight}</if>
             <if test="fNetweight != null ">and f_netweight = #{fNetweight}</if>
-            <if test="fTrademodeid != null ">and f_trademodeid = #{fTrademodeid}</if>
             <if test="fVolumn != null ">and f_volumn = #{fVolumn}</if>
+            <if test="fTrademodeid != null ">and f_trademodeid = #{fTrademodeid}</if>
+            <if test="fSbu != null ">and f_sbu = #{fSbu}</if>
             <if test="fFeetunit != null  and fFeetunit != ''">and f_feetunit = #{fFeetunit}</if>
             <if test="fMblno != null  and fMblno != ''">and f_mblno = #{fMblno}</if>
             <if test="fVslvoy != null  and fVslvoy != ''">and f_vslvoy = #{fVslvoy}</if>
@@ -89,33 +96,38 @@
         </where>
     </select>
 
-    <select id="selectTWarehouseDetailsById" parameterType="Long" resultMap="TWarehouseDetailsResult">
-        <include refid="selectTWarehouseDetailsVo"/>
+    <select id="selectTWarehousebillsById" parameterType="Long" resultMap="TWarehousebillsResult">
+        <include refid="selectTWarehousebillsVo"/>
         where f_id = #{fId}
     </select>
 
-    <insert id="insertTWarehouseDetails" parameterType="TWarehouseDetails" useGeneratedKeys="true" keyProperty="fId">
-        insert into t_warehouse_details
+    <insert id="insertTWarehousebills" parameterType="TWarehousebills" useGeneratedKeys="true" keyProperty="fId">
+        insert into t_warehousebills
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="fBillno != null">f_billno,</if>
+            <if test="fCustomsdeclartion != null">f_customsdeclartion,</if>
             <if test="fOriginalbillno != null">f_originalbillno,</if>
             <if test="fDeptid != null">f_deptid,</if>
             <if test="fBsdeptid != null">f_bsdeptid,</if>
+            <if test="fContacts != null">f_contacts,</if>
+            <if test="fTel != null">f_tel,</if>
             <if test="fCorpid != null">f_corpid,</if>
             <if test="fTocorpid != null">f_tocorpid,</if>
             <if test="fStltypeid != null">f_stltypeid,</if>
             <if test="fBscorpno != null and fBscorpno != ''">f_bscorpno,</if>
             <if test="fWarehouseid != null">f_warehouseid,</if>
+            <if test="fStorekeeper != null">f_storekeeper,</if>
             <if test="fBsdate != null">f_bsdate,</if>
             <if test="fPlanqty != null">f_planqty,</if>
             <if test="fPlangrossweight != null">f_plangrossweight,</if>
-            <if test="fPlanvolumn != null">f_planvolumn,</if>
             <if test="fPlannetweight != null">f_plannetweight,</if>
+            <if test="fPlanvolumn != null">f_planvolumn,</if>
             <if test="fQty != null">f_qty,</if>
             <if test="fGrossweight != null">f_grossweight,</if>
             <if test="fNetweight != null">f_netweight,</if>
-            <if test="fTrademodeid != null">f_trademodeid,</if>
             <if test="fVolumn != null">f_volumn,</if>
+            <if test="fTrademodeid != null">f_trademodeid,</if>
+            <if test="fSbu != null">f_sbu,</if>
             <if test="fFeetunit != null">f_feetunit,</if>
             <if test="fMblno != null">f_mblno,</if>
             <if test="fVslvoy != null">f_vslvoy,</if>
@@ -136,24 +148,29 @@
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="fBillno != null">#{fBillno},</if>
+            <if test="fCustomsdeclartion != null">#{fCustomsdeclartion},</if>
             <if test="fOriginalbillno != null">#{fOriginalbillno},</if>
             <if test="fDeptid != null">#{fDeptid},</if>
             <if test="fBsdeptid != null">#{fBsdeptid},</if>
+            <if test="fContacts != null">#{fContacts},</if>
+            <if test="fTel != null">#{fTel},</if>
             <if test="fCorpid != null">#{fCorpid},</if>
             <if test="fTocorpid != null">#{fTocorpid},</if>
             <if test="fStltypeid != null">#{fStltypeid},</if>
             <if test="fBscorpno != null and fBscorpno != ''">#{fBscorpno},</if>
             <if test="fWarehouseid != null">#{fWarehouseid},</if>
+            <if test="fStorekeeper != null">#{fStorekeeper},</if>
             <if test="fBsdate != null">#{fBsdate},</if>
             <if test="fPlanqty != null">#{fPlanqty},</if>
             <if test="fPlangrossweight != null">#{fPlangrossweight},</if>
-            <if test="fPlanvolumn != null">#{fPlanvolumn},</if>
             <if test="fPlannetweight != null">#{fPlannetweight},</if>
+            <if test="fPlanvolumn != null">#{fPlanvolumn},</if>
             <if test="fQty != null">#{fQty},</if>
             <if test="fGrossweight != null">#{fGrossweight},</if>
             <if test="fNetweight != null">#{fNetweight},</if>
-            <if test="fTrademodeid != null">#{fTrademodeid},</if>
             <if test="fVolumn != null">#{fVolumn},</if>
+            <if test="fTrademodeid != null">#{fTrademodeid},</if>
+            <if test="fSbu != null">#{fSbu},</if>
             <if test="fFeetunit != null">#{fFeetunit},</if>
             <if test="fMblno != null">#{fMblno},</if>
             <if test="fVslvoy != null">#{fVslvoy},</if>
@@ -174,28 +191,33 @@
         </trim>
     </insert>
 
-    <update id="updateTWarehouseDetails" parameterType="TWarehouseDetails">
-        update t_warehouse_details
+    <update id="updateTWarehousebills" parameterType="TWarehousebills">
+        update t_warehousebills
         <trim prefix="SET" suffixOverrides=",">
             <if test="fBillno != null">f_billno = #{fBillno},</if>
+            <if test="fCustomsdeclartion != null">f_customsdeclartion = #{fCustomsdeclartion},</if>
             <if test="fOriginalbillno != null">f_originalbillno = #{fOriginalbillno},</if>
             <if test="fDeptid != null">f_deptid = #{fDeptid},</if>
             <if test="fBsdeptid != null">f_bsdeptid = #{fBsdeptid},</if>
+            <if test="fContacts != null">f_contacts = #{fContacts},</if>
+            <if test="fTel != null">f_tel = #{fTel},</if>
             <if test="fCorpid != null">f_corpid = #{fCorpid},</if>
             <if test="fTocorpid != null">f_tocorpid = #{fTocorpid},</if>
             <if test="fStltypeid != null">f_stltypeid = #{fStltypeid},</if>
             <if test="fBscorpno != null and fBscorpno != ''">f_bscorpno = #{fBscorpno},</if>
             <if test="fWarehouseid != null">f_warehouseid = #{fWarehouseid},</if>
+            <if test="fStorekeeper != null">f_storekeeper = #{fStorekeeper},</if>
             <if test="fBsdate != null">f_bsdate = #{fBsdate},</if>
             <if test="fPlanqty != null">f_planqty = #{fPlanqty},</if>
             <if test="fPlangrossweight != null">f_plangrossweight = #{fPlangrossweight},</if>
-            <if test="fPlanvolumn != null">f_planvolumn = #{fPlanvolumn},</if>
             <if test="fPlannetweight != null">f_plannetweight = #{fPlannetweight},</if>
+            <if test="fPlanvolumn != null">f_planvolumn = #{fPlanvolumn},</if>
             <if test="fQty != null">f_qty = #{fQty},</if>
             <if test="fGrossweight != null">f_grossweight = #{fGrossweight},</if>
             <if test="fNetweight != null">f_netweight = #{fNetweight},</if>
-            <if test="fTrademodeid != null">f_trademodeid = #{fTrademodeid},</if>
             <if test="fVolumn != null">f_volumn = #{fVolumn},</if>
+            <if test="fTrademodeid != null">f_trademodeid = #{fTrademodeid},</if>
+            <if test="fSbu != null">f_sbu = #{fSbu},</if>
             <if test="fFeetunit != null">f_feetunit = #{fFeetunit},</if>
             <if test="fMblno != null">f_mblno = #{fMblno},</if>
             <if test="fVslvoy != null">f_vslvoy = #{fVslvoy},</if>
@@ -217,12 +239,12 @@
         where f_id = #{fId}
     </update>
 
-    <delete id="deleteTWarehouseDetailsById" parameterType="Long">
-        delete from t_warehouse_details where f_id = #{fId}
+    <delete id="deleteTWarehousebillsById" parameterType="Long">
+        delete from t_warehousebills where f_id = #{fId}
     </delete>
 
-    <delete id="deleteTWarehouseDetailsByIds" parameterType="String">
-        delete from t_warehouse_details where f_id in
+    <delete id="deleteTWarehousebillsByIds" parameterType="String">
+        delete from t_warehousebills where f_id in
         <foreach item="fId" collection="array" open="(" separator="," close=")">
             #{fId}
         </foreach>