소스 검색

调整小程序、公众号关注时处理,修改车队财务模块问题

阿伏兔 4 년 전
부모
커밋
545369a95d
16개의 변경된 파일155개의 추가작업 그리고 64개의 파일을 삭제
  1. 12 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/warehouse/warehouseBusiness/AppletsController.java
  2. 21 18
      ruoyi-fleet/src/main/java/com/ruoyi/basicData/service/impl/FleetDriverMsgServiceImpl.java
  3. 4 3
      ruoyi-fleet/src/main/java/com/ruoyi/orderManagement/finance/service/impl/FTmsaccbillsServiceImpl.java
  4. 7 2
      ruoyi-fleet/src/main/java/com/ruoyi/orderPlan/service/impl/FtmsorderbillscarsServiceImpl.java
  5. 1 1
      ruoyi-fleet/src/main/java/com/ruoyi/orderPlan/service/impl/FtmsorderbillsplansServiceImpl.java
  6. 0 1
      ruoyi-fleet/src/main/java/com/ruoyi/statusTracking/service/impl/FtmsorderbillsfeesServiceImpl.java
  7. 2 1
      ruoyi-fleet/src/main/resources/mapper/finance/FTmsaccbillsMapper.xml
  8. 2 3
      ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/WechatService.java
  9. 23 19
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
  10. 6 6
      ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
  11. 2 2
      ruoyi-warehouse/src/main/java/com/ruoyi/reportManagement/service/ITWhgenlegService.java
  12. 3 3
      ruoyi-warehouse/src/main/java/com/ruoyi/reportManagement/service/impl/TWhgenlegServiceImpl.java
  13. 7 0
      ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/mapper/TEnclosureMapper.java
  14. 6 0
      ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/service/ITWarehouseBillsService.java
  15. 52 5
      ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/service/impl/TWarehouseBillsServiceImpl.java
  16. 7 0
      ruoyi-warehouse/src/main/resources/mapper/warehouseBusiness/TEnclosureMapper.xml

+ 12 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/warehouse/warehouseBusiness/AppletsController.java

@@ -83,6 +83,18 @@ public class AppletsController extends BaseController {
     }
 
     /**
+     *  app仓储保存业务
+     */
+    @PostMapping(value = "/saveWarehouse")
+    @RepeatSubmit
+    public AjaxResult saveWarehouse( @RequestBody String information) {
+        if (StringUtils.isEmpty(information)) {
+            return AjaxResult.error("未找到保存数据,请确认");
+        }
+        return itWarehouseBillsService.saveWarehouse(information);
+    }
+
+    /**
      *  确认入库
      */
     @PostMapping(value = "/addCredit")

+ 21 - 18
ruoyi-fleet/src/main/java/com/ruoyi/basicData/service/impl/FleetDriverMsgServiceImpl.java

@@ -113,31 +113,35 @@ public class FleetDriverMsgServiceImpl implements IFleetDriverMsgService {
             SysUser sysUser = new SysUser();
             sysUser.setPhonenumber(tCorps.getfTel());
             sysUser.setUserName(tCorps.getLoginAccount());
+            SysUser userPhone = userMapper.checkPhoneUnique(sysUser.getPhonenumber());
             if (userMapper.checkUserNameUnique(sysUser.getUserName()) > 1) {
                 return AjaxResult.error("新增用户'" + sysUser.getUserName() + "'失败,登录账号已存在");
-            } else if (StringUtils.isNotNull(userMapper.checkPhoneUnique(sysUser.getPhonenumber()))) {
+            } else if (StringUtils.isNotNull(userPhone) && "T".equals(userPhone.getRelatedNo())) {
                 return AjaxResult.error("新增用户'" + sysUser.getUserName() + "'失败,手机号码已存在");
             }
-            // 添加用户表
-            SysUser use = new SysUser();
-            use.setUserName(tCorps.getfTel());
-            use.setNickName(tCorps.getfName());
-            use.setPhonenumber(tCorps.getfTel());
-            //sysUser.setEmail(fleetDriverMsg.get);
-            use.setUserType("11");
-            use.setPassword(SecurityUtils.encryptPassword(tCorps.getfTel()));
+            long userId = 0L;
             // 查询是否有用户提前关注小程序
             SysUser user = userMapper.selectUserByTel(tCorps.getfTel());
             if (StringUtils.isNotNull(user)) {
                 // 该用户提前关注小程序了
-                use.setOpenId(user.getOpenId());
-                if (StringUtils.isNotNull(user.getSessionKey())) {
-                    use.setSessionKey(user.getSessionKey());
-                }
-                userMapper.deleteUserById(user.getUserId());
+                user.setRelatedNo("T");
+                user.setNickName(tCorps.getfName());
+                user.setUpdateTime(new Date());
+                user.setUpdateBy(SecurityUtils.getUsername());
+                userMapper.updateUser(user);
+                userId = user.getUserId();
+            } else {
+                // 添加用户表
+                SysUser use = new SysUser();
+                use.setUserName(tCorps.getfTel());
+                use.setPhonenumber(tCorps.getfTel());
+                //sysUser.setEmail(fleetDriverMsg.get);
+                use.setUserType("11");
+                use.setPassword(SecurityUtils.encryptPassword(tCorps.getfTel()));
+                // 新增用户信息
+                userMapper.insertUser(use);
+                userId = use.getUserId();
             }
-            // 新增用户信息
-            userMapper.insertUser(use);
             // 新增用户与角色管理
             // 查询是否存在车队 角色
             SysRole role = roleMapper.selectRoleByName("司机");
@@ -149,13 +153,12 @@ public class FleetDriverMsgServiceImpl implements IFleetDriverMsgService {
             List<SysUserRole> list = new ArrayList<SysUserRole>();
             SysUserRole sysUserRole = new SysUserRole();
             sysUserRole.setRoleId(role.getRoleId());
-            sysUserRole.setUserId(use.getUserId());
+            sysUserRole.setUserId(userId);
             list.add(sysUserRole);
             userRoleMapper.batchUserRole(list);
             tCorps.setCreateTime(new Date());
             tCorps.setCreateBy(SecurityUtils.getUsername());
             corpsMapper.insertTCorps(tCorps);
-
             return AjaxResult.success();
         }
     }

+ 4 - 3
ruoyi-fleet/src/main/java/com/ruoyi/orderManagement/finance/service/impl/FTmsaccbillsServiceImpl.java

@@ -114,7 +114,7 @@ public class FTmsaccbillsServiceImpl implements IFTmsaccbillsService {
                 corpsId.add(ftmsorderbillsfees.getfCorpid());
                 map1.put("fMblno", ftmsorderbills.getMblno()); //提单号
                 map1.put("fProductName", ftmsorderbillsfees.getfProductName()); //提单号
-                map1.put("createTime", ftmsorderbillsfees.getCreateTime()); //业务日期
+                map1.put("fBsdate", ftmsorderbillsfees.getCreateTime()); //业务日期
                 map1.put("actId", ftmsorderbillsfees.getActId()); // 业务类型
                 map1.put("billType", ftmsorderbills.getBillType()); // 作业类型
                 if (null != tFees.getfName()) {
@@ -124,10 +124,11 @@ public class FTmsaccbillsServiceImpl implements IFTmsaccbillsService {
                 }
                 feesId.add(ftmsorderbillsfees.getfFeeunitid());
                 map1.put("fSrcdc", fees.getDc()); // 收付
-                map1.put("fAmt", fees.getAmtOrg()); // 数量
-                map1.put("fAmtdr", fees.getAmtCur()); // 金额
+                map1.put("fAmt", fees.getFAmt()); // 数量
+                map1.put("fAmtdr", fees.getFAmtdr()); // 金额
                 map1.put("fQty", ftmsorderbillsfees.getfQty()); // 数量
                 map1.put("fAmount", fees.getAmtOrg()); // 金额
+                map1.put("amtCur", fees.getAmtCur()); // 金额
                 map1.put("fFeeunitid", sysDictDataList.get(0).getDictLabel()); //计价单位
                 map1.put("loadDate", ftmsorderbills.getLoadDate()); // 计费开始日期
                 map1.put("unLoadDate", ftmsorderbills.getUnLoadDate()); //计费截止日期

+ 7 - 2
ruoyi-fleet/src/main/java/com/ruoyi/orderPlan/service/impl/FtmsorderbillscarsServiceImpl.java

@@ -164,9 +164,9 @@ public class FtmsorderbillscarsServiceImpl implements IftmsorderbillscarsService
         // 查询未接单数量
         Ftmsorderbillscars ftmsorderbillscars = new Ftmsorderbillscars();
         ftmsorderbillscars.setOrderStatus(10L);
+        ftmsorderbillscars.setDriverTel(phoneNumber);
         int count = ftmsorderbillscarsMapper.selectftmsorderbillscarsCount(ftmsorderbillscars);
         // 月份
-        ftmsorderbillscars.setDriverTel(phoneNumber);
         ftmsorderbillscars.setMonthList(DateUtils.getMonth());
         Map<String, Object> map = ftmsorderbillscarsMapper.selectMonthlyOrder(ftmsorderbillscars);
         map.put("count", count);
@@ -236,7 +236,10 @@ public class FtmsorderbillscarsServiceImpl implements IftmsorderbillscarsService
     public AjaxResult driverSave(String cars, String attachs, String operationType) {
         Ftmsorderbillscars tmsorderbillscars = JSONArray.parseObject(cars, Ftmsorderbillscars.class);
         Ftmsorderbills ftmsorderbills = ftmsorderbillsMapper.selectftmsorderbillsById(tmsorderbillscars.getOrgId());
+        tmsorderbillscars.setUpdateTime(new Date());
+        tmsorderbillscars.setUpdateBy(SecurityUtils.getUsername());
         tmsorderbillscars.setMblno(ftmsorderbills.getMblno());
+        ftmsorderbillscarsMapper.updateftmsorderbillscars(tmsorderbillscars);
         long pId = tmsorderbillscars.getId();
         long orgId = tmsorderbillscars.getOrgId();
         long orderStatus = 1030L;
@@ -438,7 +441,9 @@ public class FtmsorderbillscarsServiceImpl implements IftmsorderbillscarsService
                     return AjaxResult.error("派车数据中存在未提交的数据,无法提交");
                 }
                 s.setOrgId(pId);
-                s.setBillStatus(6L);
+                if (StringUtils.isNull(s.getId())) {
+                    s.setBillStatus(6L);
+                }
                 s.setCreateTime(new Date());
                 s.setMblno(tmsorderbills.getMblno());
                 s.setCreateBy(loginUser.getUsername());

+ 1 - 1
ruoyi-fleet/src/main/java/com/ruoyi/orderPlan/service/impl/FtmsorderbillsplansServiceImpl.java

@@ -460,7 +460,7 @@ public class FtmsorderbillsplansServiceImpl implements IftmsorderbillsplansServi
         }
         Map<String, Object> map = new HashMap<>();
         Ftmsorderbillscntrs tmsorderbillscntrs = new Ftmsorderbillscntrs();
-        tmsorderbillscntrs.setId(plans.getPId());
+        tmsorderbillscntrs.setOrgId(plans.getOrgId());
         tmsorderbillscntrs.setBillStatus(6L);
         map.put("plan", plans);
         map.put("cntrs", ftmsorderbillscntrsMapper.selectftmsorderbillscntrsList(tmsorderbillscntrs));

+ 0 - 1
ruoyi-fleet/src/main/java/com/ruoyi/statusTracking/service/impl/FtmsorderbillsfeesServiceImpl.java

@@ -99,7 +99,6 @@ public class FtmsorderbillsfeesServiceImpl implements IftmsorderbillsfeesService
             for (Ftmsorderbillsfees ftmsorderbillsfees : ftmsorderbillsfeesList) {
                 ftmsorderbillsfees.setfPid(pId);
                 ftmsorderbillsfees.setOrgId(orgId);
-                ftmsorderbillsfees.setActId(1090L);
                 ftmsorderbillsfees.setfBillstatus(status);
                 ftmsorderbillsfees.setCreateTime(new Date());
                 ftmsorderbillsfees.setCreateBy(SecurityUtils.getUsername());

+ 2 - 1
ruoyi-fleet/src/main/resources/mapper/finance/FTmsaccbillsMapper.xml

@@ -206,7 +206,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             w.f_id AS fSrcid,
             c.f_name AS fFeesName,
             w.act_id AS fBilltype,
-            w.f_mblno AS fMblno,
+            t.mblno AS fMblno,
             t.bill_type AS fBusinessType,
             g.f_name AS fProductName,
             w.create_time AS fBsdate,
@@ -384,6 +384,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             LEFT JOIN t_corps AS c ON f.f_corpid = c.f_id
         <where>
             <if test="actId != null "> and f.act_id = #{actId}</if>
+            <if test="fBilltype != null  and fBilltype != ''"> and f.f_billtype = #{fBilltype}</if>
             <if test="fBillno != null  and fBillno != ''"> and f.f_billno = #{fBillno}</if>
             <if test="fCorpid != null "> and f.f_corpid = #{fCorpid}</if>
             <if test="fFromDate != null "> and f.f_from_date = #{fFromDate}</if>

+ 2 - 3
ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/WechatService.java

@@ -149,9 +149,9 @@ public class WechatService {
                 AjaxResult result = decodeUserInfo(loginBody.getEncryptedData(), loginBody.getEncryptedIv(), user.getSessionKey(), dataType);
                 String code1 = result.get("code").toString();
                 if ("500".equals(code1)) {
-                    return ajaxResult;
+                    return result;
                 }
-                user.setUnionId(ajaxResult.get("data").toString());
+                user.setUnionId(result.get("data").toString());
             } catch (UnsupportedEncodingException e) {
                 log.info("解析手机号UnsupportedEncodingException异常:" + e);
                 e.printStackTrace();
@@ -223,7 +223,6 @@ public class WechatService {
         String jsonBody = "{\n" +
                 "  \"touser\": \"" + fromUser + "\",\n" +
                 "  \"template_id\": \"PkeerRaAwBYrwvvrbKrXiGzYok0tehLa9huVxQ6vkco\",\n" +
-//                "  \"template_id\": \"" + templateId + "\",\n" +
                 "  \"url\": \"\",\n" +
                 "  \"data\": {\n" +
                 "    \"first\": {\n" +

+ 23 - 19
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java

@@ -520,19 +520,22 @@ public class SysUserServiceImpl implements ISysUserService {
         if (StringUtils.isNotNull(user)) {
             if (StringUtils.isEmpty(user.getPhonenumber())) {
                 // 没有授权小程序,创建临时用户数据
-                user.setStatus("1");
-                user.setDelFlag("2");
+                sysUser.setUserName("暂存");
+                sysUser.setNickName("暂存");
+                sysUser.setStatus("1");
                 userMapper.insertUser(sysUser);
+            } else {
+                user.setRelatedNo("T");
+                user.setOpenId(sysUser.getOpenId());
+                // 存在并且已经授权小程序了
+                userMapper.updateUserRelatedNo(user);
             }
-            user.setRelatedNo("T");
-            // 存在并且已经授权小程序了
-            userMapper.updateUserRelatedNo(user);
+        } else {
+            sysUser.setUserName("暂存");
+            sysUser.setNickName("暂存");
+            sysUser.setStatus("1");
+            userMapper.insertUser(sysUser);
         }
-        sysUser.setUserName(" ");
-        sysUser.setNickName(" ");
-        sysUser.setStatus("1");
-        sysUser.setDelFlag("2");
-        userMapper.insertUser(sysUser);
     }
 
     // 用户取关公众号
@@ -561,11 +564,13 @@ public class SysUserServiceImpl implements ISysUserService {
         // 判断是否提前存储过
         SysUser sysUser = userMapper.selectUserByUnionId(user.getUnionId());
         if (StringUtils.isNotNull(sysUser)) {
-            if ("1".equals(user.getStatus()) && "2".equals(user.getDelFlag())) {
-                // 提前关注公众号的信息
-                userMapper.deleteUserById(user.getUserId());
+            if ("1".equals(sysUser.getStatus())) {
+                user.setOpenId(sysUser.getOpenId());
+                // 提前只是关注公众号的信息
+                userMapper.deleteUserById(sysUser.getUserId());
                 related = true;
-            } else if (StringUtils.isNotEmpty(user.getPhonenumber()) && "0".equals(user.getStatus()) && "0".equals(user.getDelFlag())){
+            } else if (StringUtils.isNotEmpty(sysUser.getPhonenumber()) && "0".equals(sysUser.getStatus())){
+                // 创建用户并关联公众号
                 loginUser.setUser(user);
                 return loginUser;
             }
@@ -574,11 +579,13 @@ public class SysUserServiceImpl implements ISysUserService {
         SysUser pUser = userMapper.selectUserByTel(user.getPhonenumber());
         if (StringUtils.isNotNull(pUser)) {
             // 创建过
-            pUser.setOpenId(user.getOpenId());
             if (related) {
                 pUser.setRelatedNo("T");
+            } else {
+//                pUser.setOpenId(user.getOpenId());
+                pUser.setSessionKey(user.getSessionKey());
             }
-            pUser.setSessionKey(user.getSessionKey());
+            pUser.setUnionId(user.getUnionId());
             userMapper.updateUser(pUser);
             loginUser.setUser(pUser);
             return loginUser;
@@ -587,8 +594,6 @@ public class SysUserServiceImpl implements ISysUserService {
             user.setNickName(" ");
             user.setUserName(user.getPhonenumber());
             user.setStatus("1");
-            user.setStatus("1");
-            user.setDelFlag("2");
             user.setUserType("11");
             user.setCreateTime(new Date());
             userMapper.insertUser(user);
@@ -641,7 +646,6 @@ public class SysUserServiceImpl implements ISysUserService {
             user.setNickName(" ");
             user.setUserName(user.getPhonenumber());
             user.setStatus("1");
-            user.setStatus("1");
             user.setDelFlag("2");
             user.setUserType("00");
             user.setCreateTime(new Date());

+ 6 - 6
ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml

@@ -118,15 +118,15 @@
 	</select>
 
 	<select id="selectUserByopenId" parameterType="String" resultMap="SysUserResult">
-		SELECT user_id, user_name, nick_name, user_type, user_system, open_id, union_id, del_flag FROM sys_user WHERE open_id = #{openId}
+		SELECT user_id, user_name, nick_name, user_type, user_system, open_id, union_id, status, del_flag FROM sys_user WHERE open_id = #{openId}
 	</select>
 
 	<select id="selectUserByUnionId" parameterType="String" resultMap="SysUserResult">
-		SELECT user_id, user_name, nick_name, user_type, user_system, open_id, union_id, del_flag FROM sys_user WHERE union_id = #{unionId}
+		SELECT user_id, user_name, nick_name, phonenumber, user_type, user_system, open_id, union_id, status, del_flag FROM sys_user WHERE union_id = #{unionId}
 	</select>
 
 	<select id="selectUserByTel" parameterType="String" resultMap="SysUserResult">
-		SELECT user_id, user_name, nick_name, user_type, user_system, phonenumber, open_id, union_id, session_key, del_flag FROM sys_user WHERE phonenumber = #{phonenumber} and user_type = '11'
+		SELECT * FROM sys_user WHERE phonenumber = #{phonenumber} and user_type = '11'
 	</select>
 
 	<select id="checkUserNameUnique" parameterType="String" resultType="int">
@@ -134,7 +134,7 @@
 	</select>
 
 	<select id="checkPhoneUnique" parameterType="String" resultMap="SysUserResult">
-		select user_id, phonenumber from sys_user where phonenumber = #{phonenumber} limit 1
+		select user_id, user_name, phonenumber user_system, related_no, status from sys_user where phonenumber = #{phonenumber} limit 1
 	</select>
 
 	<select id="checkEmailUnique" parameterType="String" resultMap="SysUserResult">
@@ -218,11 +218,11 @@
 	</update>
 
 	<update id="updateUserRelatedNo" parameterType="SysUser">
- 		update sys_user set related_no = #{relatedNo}, img_src = #{imgSrc} where open_id = #{openId}
+ 		update sys_user set related_no = #{relatedNo}, img_src = #{imgSrc}, open_id = #{openId} where union_id = #{unionId}
 	</update>
 
 	<update id="unsubscribeUserRelatedNo" parameterType="SysUser">
- 		update sys_user set related_no = #{relatedNo}, status = '1', del_flag = '2' where open_id = #{openId}
+ 		update sys_user set related_no = #{relatedNo}, status = '1', del_flag = '2' where union_id = #{unionId}
 	</update>
 
 	<update id="updateUserStatus" parameterType="SysUser">

+ 2 - 2
ruoyi-warehouse/src/main/java/com/ruoyi/reportManagement/service/ITWhgenlegService.java

@@ -18,10 +18,10 @@ public interface ITWhgenlegService {
     /**
      * 查询库存总账
      *
-     * @param fAccyear 库存总账ID
+     * @param fId 库存总账ID
      * @return 库存总账
      */
-    public Map<String, Object> selectTWhgenlegById(Long fAccyear);
+    public Map<String, Object> selectTWhgenlegById(Long fId);
 
     /**
      * 查询库存总账列表

+ 3 - 3
ruoyi-warehouse/src/main/java/com/ruoyi/reportManagement/service/impl/TWhgenlegServiceImpl.java

@@ -40,13 +40,13 @@ public class TWhgenlegServiceImpl implements ITWhgenlegService {
     /**
      * 查询库存总账
      *
-     * @param fAccyear 库存总账ID
+     * @param fId 库存总账ID
      * @return 库存总账
      */
     @Override
-    public Map<String, Object> selectTWhgenlegById(Long fAccyear) {
+    public Map<String, Object> selectTWhgenlegById(Long fId) {
         Map<String, Object> map = new HashMap<>();
-        TWhgenleg whgenleg = tWhgenlegMapper.selectTWhgenlegById(fAccyear);
+        TWhgenleg whgenleg = tWhgenlegMapper.selectTWhgenlegById(fId);
         map.put("whgenleg", whgenleg);
         TWarehouseBills warehouseBills = new TWarehouseBills();
         warehouseBills.setfCorpid(whgenleg.getfCorpid());

+ 7 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/mapper/TEnclosureMapper.java

@@ -62,4 +62,11 @@ public interface TEnclosureMapper extends BaseMapper<TEnclosure> {
     public int deleteTEnclosureByIds(Long[] fIds);
 
     int deleteByFPid(Long fId);
+
+    /**
+     *  查询出入库附件app
+     * @param enclosure 条件
+     * @return  结果
+     */
+    public List<TEnclosure> selectWarehouseAccessoriesList(TEnclosure enclosure);
 }

+ 6 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/service/ITWarehouseBillsService.java

@@ -210,4 +210,10 @@ public interface ITWarehouseBillsService {
 
     public List<StorageFee> storageFeeExport(TWarehouseBills tWarehousebills) throws Exception;
 
+    /**
+     *  app仓储保存业务
+     * @param information   仓库明细数据
+     * @return  结果
+     */
+    public AjaxResult saveWarehouse(String information);
 }

+ 52 - 5
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/service/impl/TWarehouseBillsServiceImpl.java

@@ -18,6 +18,7 @@ import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.domain.entity.TWarehouse;
 import com.ruoyi.common.core.domain.model.LoginUser;
 import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.reportManagement.domain.TWareHouseItemsExcel;
 import com.ruoyi.reportManagement.domain.TWhgenleg;
@@ -863,11 +864,21 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
 
     @Override
     public List<Map<String, Object>> selectWarehouseBusinessInStockList(TWarehousebillsitems tWarehousebillsitems) {
+        List<Map<String, Object>> mapList = null;
         if(tWarehousebillsitems.getfBilltype().equals("SJRK")){
-            return tWarehousebillsitemsMapper.selectWarehouseBusinesInList(tWarehousebillsitems);
-        }else {
-            return tWarehousebillsitemsMapper.selectWarehouseBusinesOutList(tWarehousebillsitems);
+            mapList = tWarehousebillsitemsMapper.selectWarehouseBusinesInList(tWarehousebillsitems);
+        } else {
+            mapList = tWarehousebillsitemsMapper.selectWarehouseBusinesOutList(tWarehousebillsitems);
+        }
+        if (StringUtils.isNotEmpty(mapList)) {
+            for (Map<String, Object> map : mapList) {
+                Long fId = Long.valueOf(String.valueOf(map.get("fPid")));
+                TEnclosure enclosure = new TEnclosure();
+                enclosure.setfPid(fId);
+                map.put("enclosure", tEnclosureMapper.selectWarehouseAccessoriesList(enclosure));
+            }
         }
+        return mapList;
     }
 
     @Override
@@ -894,6 +905,42 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
         }
     }
 
+    /**
+     *  app仓储保存业务
+     * @param information   仓库明细数据
+     * @return  结果
+     */
+    @Override
+    @Transactional
+    public AjaxResult saveWarehouse(String information) {
+        JSONObject jsonObject = JSONArray.parseObject(information);
+        String tEnclosure = jsonObject.get("tEnclosure").toString();
+        String items = jsonObject.get("warehousebillsitems").toString();
+        if (StringUtils.isEmpty(items) || "{}".equals(items)) {
+            return AjaxResult.error("未收到需要保存的数据,请确认");
+        }
+        TWarehousebillsitems warehousebillsitems = JSONArray.parseObject(items, TWarehousebillsitems.class);
+        warehousebillsitems.setUpdateTime(new Date());
+        warehousebillsitems.setUpdateBy(SecurityUtils.getUsername());
+        tWarehousebillsitemsMapper.updateTWarehousebillsitems(warehousebillsitems);
+        tEnclosureMapper.deleteByFPid(warehousebillsitems.getfPid());
+        if (StringUtils.isNotEmpty(tEnclosure) || !"{}".equals(tEnclosure)) {
+            //  附件添加
+            if (StringUtils.isNotEmpty(tEnclosure) && !"[]".equals(tEnclosure)) {
+                JSONArray jsonDrArray = JSONArray.parseArray(tEnclosure);
+                List<TEnclosure> tEnclosureList = JSONObject.parseArray(jsonDrArray.toJSONString(), TEnclosure.class);
+                for (TEnclosure enclosure : tEnclosureList) {
+                    enclosure.setfStatus("2");
+                    enclosure.setCreateTime(new Date());
+                    enclosure.setfPid(warehousebillsitems.getfPid());
+                    enclosure.setCreateBy(SecurityUtils.getUsername());
+                    tEnclosureMapper.insertTEnclosure(enclosure);
+                }
+            }
+        }
+        return AjaxResult.success();
+    }
+
     @Override
     @Transactional
     public AjaxResult addCreditItems(String tEnclosure ,String  tWarehousebillsitems, String billsType,LoginUser loginUser) {
@@ -1007,9 +1054,10 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
         //  主表修改
         tWarehouseBills.setfItemsStatus(4L);
         tWarehouseBills.setfBilltype(billsType);
-        tWarehouseBills.setUpdateBy(loginUser.getUser().getUserName());
         tWarehouseBills.setUpdateTime(new Date());
         tWarehouseBillsMapper.updateTWarehousebills(tWarehouseBills);
+        tWarehouseBills.setUpdateBy(loginUser.getUser().getUserName());
+        tEnclosureMapper.deleteByFPid(tWarehouseBills.getfId());
         //  附件添加
         if (StringUtils.isNotEmpty(tEnclosure) && !"[]".equals(tEnclosure)) {
             JSONArray jsonDrArray = JSONArray.parseArray(tEnclosure);
@@ -1059,7 +1107,6 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
         return list1;
     }
 
-
     /**
      * 根据仓库主表id 更新对应明细表状态
      *

+ 7 - 0
ruoyi-warehouse/src/main/resources/mapper/warehouseBusiness/TEnclosureMapper.xml

@@ -41,6 +41,13 @@
         where f_id = #{fId}
     </select>
 
+    <select id="selectWarehouseAccessoriesList" parameterType="TEnclosure" resultMap="TEnclosureResult">
+        <include refid="selectTEnclosureVo"/>
+        where f_pid = #{fPid}
+        order by create_time desc
+        limit 0, 5
+    </select>
+
     <insert id="insertTEnclosure" parameterType="TEnclosure" useGeneratedKeys="true" keyProperty="fId">
         insert into t_enclosure
         <trim prefix="(" suffix=")" suffixOverrides=",">