浏览代码

中央刀库基础数据

oyq28 1 年之前
父节点
当前提交
af54288cd5

+ 21 - 0
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/centralToolMagazine/dao/ToolStorgeMapper.java

@@ -25,4 +25,25 @@ import java.util.Map;
 @Repository
 public interface ToolStorgeMapper extends SuperMapper<ToolStorge> {
     List<ToolStorge> getFreeStorgeByResourceIds(Map map);
+
+    Integer storgeCount(ToolStorge model);
+
+    List<ToolStorge> typeToolStorgeNum(StockInfo bean);
+
+    /**
+     * 分页
+     */
+    IPage<ToolStorge> pageList(IPage page, @Param(Constants.WRAPPER) Wrapper<ToolStorge> queryWrapper, DataScope dataScope);
+
+    /**
+     *
+     * @param map
+     * @return
+     */
+    List<Map>getDemoLineStockList(Map map);
+
+
+    List<Map>getstorgeByZone(Map map);
+
+    void updateLockStatusById(Map updateLockStatusParams);
 }

+ 36 - 0
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/centralToolMagazine/service/ToolStorgeService.java

@@ -37,4 +37,40 @@ public interface ToolStorgeService extends SuperCacheService<ToolStorge> {
     R<String> toolStockOut(String storgeId,String completeBatchNo);
 
     R<String> toolStockIn(String storgeId,String toolNo,String completeBatchNo);
+
+    IPage<ToolStorge> pageList(IPage page, LbqWrapper<ToolStorge> wrapper);
+
+    Integer storgeCount(ToolStorge model);
+
+    /**
+     * 保存
+     *
+     * @param data
+     * @return
+     */
+    ToolStorge save(ToolStorgeSaveDTO data);
+
+    /**
+     * 修改
+     */
+    ToolStorge update(ToolStorgeUpdateDTO data);
+
+    /**
+     * 检测 库位是否存在
+     *
+     * @param model
+     * @return
+     */
+    boolean check(ToolStorgeSaveDTO model);
+
+    /**
+     * 删除
+     *
+     * @param model
+     * @return
+     */
+    Boolean delete(ToolStorge model);
+
+
+    void setValidTray(Map map);
 }

+ 80 - 0
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/centralToolMagazine/service/impl/ToolStorgeServiceImpl.java

@@ -82,6 +82,86 @@ public class ToolStorgeServiceImpl extends SuperCacheServiceImpl<ToolStorgeMappe
         return null;
     }
 
+
+    @Override
+    // 启用属性自动注入
+    @InjectionResult
+    public IPage<ToolStorge> pageList(IPage page, LbqWrapper<ToolStorge> wrapper) {
+        return baseMapper.pageList(page, wrapper, new DataScope());
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public ToolStorge save(ToolStorgeSaveDTO data) {
+        // defaults 库
+        isFalse(check(data), "名称重复,请重新输入");
+
+        ToolStorge storge = BeanPlusUtil.toBean(data, ToolStorge.class);
+        save(storge);
+        return storge;
+    }
+
+    /**
+     * 配置可选的托盘
+     * @param map
+     */
+    @Override
+    public void setValidTray(Map map) {
+        /*String ids = map.get("ids").toString();
+        String trayIds = map.get("trayIds").toString();
+        String idArr[] = ids.split(",");
+        List<Long>idList = new ArrayList<Long>();
+        for(int i =0; i<idArr.length;i++){
+            idList.add(Long.parseLong(idArr[i]));
+        }
+
+        //全删全插关系表
+        storgeTrayConfMapper.delete(Wraps.<SToolStorgeTrayConf>lbQ().in(SToolStorgeTrayConf::getToolStorgeId, idList));
+
+        String trayArr[] = trayIds.split(",");
+        List<SToolStorgeTrayConf>list = new ArrayList<>();
+        for(int i =0; i<idArr.length;i++){
+            for(int j = 0;j<trayArr.length;j++ ){
+                SToolStorgeTrayConf conf = new SToolStorgeTrayConf();
+                conf.setToolStorgeId(Long.parseLong(idArr[i]));
+                conf.setTrayId(Long.parseLong(trayArr[j]));
+                list.add(conf);
+            }
+        }
+        storgeTrayConfMapper.insertBatchSomeColumn(list);*/
+
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public ToolStorge update(ToolStorgeUpdateDTO data) {
+        ToolStorge storge = BeanPlusUtil.toBean(data, ToolStorge.class);
+        updateById(storge);
+
+        return storge;
+    }
+
+    @Override
+    public Integer storgeCount(ToolStorge model) {
+        return baseMapper.storgeCount(model);
+    }
+
+    @Override
+    public boolean check(ToolStorgeSaveDTO model) {
+        if( (model.getName()!=null && super.count(Wraps.<ToolStorge>lbQ().eq(ToolStorge::getName, model.getName())) > 0)
+                || (model.getNo()!=null && super.count(Wraps.<ToolStorge>lbQ().eq(ToolStorge::getNo, model.getNo())) > 0)
+                || (StringUtil.isNotEmpty(model.getToolNo()) &&super.count(Wraps.<ToolStorge>lbQ().eq(ToolStorge::getToolNo, model.getToolNo())) > 0)){
+            return true;
+        }
+        return false;
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean delete(ToolStorge model) {
+        return removeById(model);
+    }
+
     @Override
     public List<ToolStorge> getFreeStorgeByResourceIds(String[] idArr) {
         Map params = new HashMap();

+ 76 - 0
imcs-admin-boot/imcs-business-biz/src/main/resources/mapper_business/base/centralToolMagezine/ToolStorgeMapper.xml

@@ -42,4 +42,80 @@
             </if>
         </where>
     </select>
+
+    <select id="storgeCount" parameterType="com.github.zuihou.business.centralToolMagazine.entity.ToolStorge" resultType="Integer">
+        select count(1) from imcs_tool_storge where id not in(select storge_id from imcs_s_stock_info)
+    </select>
+
+    <!-- 类型分组查询空库位数量 -->
+    <select id="typeToolStorgeNum" parameterType="com.github.zuihou.business.edgeLibrary.entity.StockInfo" resultType="com.github.zuihou.business.centralToolMagazine.entity.ToolStorge">
+        select tool_no as toolNo,count(1) as storgeNum from imcs_tool_storge where id not in(select storge_id from imcs_s_stock_info)
+    </select>
+
+    <!-- 分页 -->
+    <select id="pageList" resultMap="BaseResultMap">
+        select * from imcs_tool_storge ${ew.customSqlSegment}
+    </select>
+
+
+    <select id="getDemoLineStockList" parameterType="map" resultType="map">
+        SELECT
+        s.tool_management_id toolManagementId,s.no,s.name,s.status,sh.weight shWeight,r.code,s.lock_status lockStatus,
+        CASE WHEN st.storge_id IS NOT NULL THEN
+        '1'
+        ELSE
+        '0'
+        END haveGoods
+        FROM
+        imcs_tool_storge s
+        LEFT JOIN imcs_p_productionresource_position p ON p.storge_id = s.id
+        LEFT JOIN imcs_tenant_productionresource r ON p.resource_id = r.id
+        LEFT JOIN imcs_s_shelves sh ON s.tool_management_id = sh.id
+        LEFT JOIN (
+        SELECT
+        DISTINCT i.storge_id
+        FROM
+        imcs_s_stock_info i
+        ) st ON s.id = st.storge_id
+        WHERE
+        1 = 1
+        <if test="code != null and code != ''">
+            and r.code = #{code}
+        </if>
+        <if test="codes != null and codes != ''">
+            and r.code in (${codes})
+        </if>
+        order by sh.weight desc ,s.weight asc
+    </select>
+
+    <select id="getstorgeByZone" parameterType="map" resultType="map">
+        SELECT
+        *
+        FROM
+        imcs_tool_storge a
+        LEFT JOIN imcs_s_stock_info i ON a.id = i.storge_id
+        LEFT JOIN (
+        SELECT
+        h.id,
+        h.parent_id,
+        h1. NAME AS aname,
+        h1. STATUS
+        FROM
+        imcs_s_shelves h
+        LEFT JOIN imcs_s_shelves h1 ON h.parent_id = h1.id
+        ) d ON a.tool_management_id = d.id
+        LEFT JOIN imcs_z_zone z ON Locate(
+        z.abbreviate,
+        LEFT (d.aname, 5)
+        )
+        WHERE 1=1
+        and (i.storge_id is not null or a.lock_status = '0')
+        <if test="zoneId != null and zoneId != ''">
+            and z.id = #{zoneId}
+        </if>
+    </select>
+
+    <update id="updateLockStatusById">
+        UPDATE imcs_tool_storge SET lock_status = '1', camp_id = null WHERE lock_status = '0' and (id = #{agvStartToolStorgeId} or id = #{agvEndToolStorgeId});
+    </update>
 </mapper>