feature:物料导入、同步组织信息

release
gaorl 2 years ago
parent d18cbf96da
commit d7c8477082
  1. 2
      order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/constant/CommodityEnum.java
  2. 8
      order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/controller/CommodityController.java
  3. 2
      order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/dao/CommodityMapper.java
  4. 2
      order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/model/CommodityExcel.java
  5. 9
      order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/service/impl/CommodityServiceImpl.java
  6. 45
      order-management-base-service/src/main/resources/mybatis/mapper/CommodityMapper.xml
  7. 6
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/controller/CompanyCommodityCodeController.java
  8. 2
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/service/impl/CompanyCommodityCodeServiceImpl.java
  9. 26
      order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/api/InvoiceRestApiV6.java
  10. BIN
      order-management-consumer/src/main/resources/download/CommodityCodeExcel.xlsx

@ -22,7 +22,7 @@ public enum CommodityEnum {
COMMODITY_ITEM_NAME("商品名称*", "xmmc"),
COMMODITY_ITEM_ENCODE("自行商品编码", "zxbm"),
COMMODITY_ITEM_ENCODE("物料编码", "zxbm"),
COMMODITY_ITEM_TYPE("规格型号", "ggxh"),

@ -433,14 +433,6 @@ public class CommodityController {
String prefix = "第" + (1 + num) + "行,";
num++;
if (StringUtils.isBlank(commodityExcel.getXhfNsrsbh())){
resultMap.add(CheckParamUtil.generateErrorMap("", prefix, OrderInfoContentEnum.COMMODITY_MESSAGE_SYNC_NULL6));
continue;
}
if (StringUtils.isBlank(commodityExcel.getXhfMc())){
resultMap.add(CheckParamUtil.generateErrorMap("", prefix, OrderInfoContentEnum.COMMODITY_MESSAGE_SYNC_NULL7));
continue;
}
if (StringUtils.isBlank(commodityExcel.getXmmc())){
resultMap.add(CheckParamUtil.generateErrorMap("", prefix, OrderInfoContentEnum.COMMODITY_MESSAGE_SYNC_NULL8));
continue;

@ -92,6 +92,8 @@ public interface CommodityMapper {
*/
List<CommodityCodeEntity> queryCommodityInfoList(@Param("pageSpxxReq") PageSpxxReq pageSpxxReq, @Param("shList") List<String> shList);
int queryCountByEntAndEncode(@Param("encoding")String encoding,@Param("merchandiseName")String merchandiseName,@Param("entId")String entId);
/**
* 查询商品信息列表

@ -61,7 +61,7 @@ public class CommodityExcel {
private String bz;
/**
* 自行编码
* 物料编码
*/
private String zxbm;

@ -306,6 +306,15 @@ public class CommodityServiceImpl implements CommodityService {
List<Map<String, String>> resultMap = new ArrayList<>();
for (CommodityCodeEntity commodityCodeEntity : commodityCodeList) {
commodityCodeEntity.setSpbm(StringUtil.fillZero(commodityCodeEntity.getSpbm(), ConfigureConstant.INT_19));
//ent_id + encoding + spmc
int i1 = commodityMapper.queryCountByEntAndEncode(commodityCodeEntity.getZxbm(), commodityCodeEntity.getXmmc(), commodityCodeEntity.getEntId());
if(i1>0){
Map<String, String> map = new HashMap<>(2);
map.put(OrderManagementConstant.CODE, ConfigureConstant.STRING_9999);
map.put("msg", "第" + num + "行,物料编码或名称已存在");
resultMap.add(map);
continue;
}
TaxClassCodeEntity taxClassCodeEntity = taxClassCodeService.queryTaxClassCodeFromCache(commodityCodeEntity.getSpbm());
if (taxClassCodeEntity != null) {
commodityCodeEntity.setSpjc(taxClassCodeEntity.getSpjc());

@ -414,12 +414,33 @@
<if test="commodityCode.sortId != null">
sort_id = #{commodityCode.sortId,jdbcType=BIGINT},
</if>
<if test="commodityCode.xhfNsrsbh != null">
xhf_nsrsbh = #{commodityCode.xhfNsrsbh,jdbcType=VARCHAR},
</if>
<if test="commodityCode.xmmc != null">
merchandise_name = #{commodityCode.xmmc,jdbcType=VARCHAR},
</if>
<if test="commodityCode.zzstsgl != null">
zzstsgl = #{commodityCode.zzstsgl,jdbcType=VARCHAR},
</if>
<if test="commodityCode.spjc != null">
tax_class_abbreviation = #{commodityCode.spjc,jdbcType=VARCHAR},
</if>
<if test="commodityCode.spbm != null">
tax_class_code = #{commodityCode.spbm,jdbcType=VARCHAR},
</if>
<if test="commodityCode.ssflMc != null">
tax_classification_name = #{commodityCode.ssflMc,jdbcType=VARCHAR},
</if>
<if test="commodityCode.yhzcbs != null">
enjoy_preferential_policies = #{commodityCode.yhzcbs,jdbcType=VARCHAR},
</if>
<if test="commodityCode.hsbz != null">
tax_logo = #{commodityCode.hsbz,jdbcType=VARCHAR},
</if>
<if test="commodityCode.spjm != null">
brief_code = #{commodityCode.spjm,jdbcType=VARCHAR},
</if>
<if test="commodityCode.sl != null">
tax_rate = #{commodityCode.sl,jdbcType=VARCHAR},
</if>
</set>
<where>
id in
@ -1178,6 +1199,24 @@
WHERE cc.encoding =#{spbm}
</select>
<select id="queryCountByEntAndEncode" resultType="java.lang.Integer">
SELECT
count(*)
FROM
commodity_code cc
<where>
<if test="encoding != null and encoding != ''">
cc.encoding =#{encoding}
</if>
<if test="merchandiseName != null and merchandiseName != ''">
and cc.merchandise_name =#{merchandiseName}
</if>
<if test="entId != null and entId != ''">
and cc.ent_id =#{entId}
</if>
</where>
</select>
<!-- 通用条件查询 -->
<select id="queryCommodityInfoListByMap" resultMap="commodityCodeResultMap">

@ -35,7 +35,11 @@ public class CompanyCommodityCodeController {
*/
@PostMapping("/clone")
public R quote(@RequestBody @Validated CloneCompanyCommodityDTO dto) {
return cloneCompanyCommodityCode.cloneCompanyCommodityCode(dto);
try {
return cloneCompanyCommodityCode.cloneCompanyCommodityCode(dto);
} catch (Exception e) {
return R.error("克隆失败,请检查是否已存在");
}
}
}

@ -44,7 +44,7 @@ public class CompanyCommodityCodeServiceImpl implements ICompanyCommodityCodeSer
// 复制from公司下的所有物料到to
if (groupCommodityMapper.cloneCommodityCode(from, to) <= 0) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return R.error("克隆失败,请重新操作");
return R.error("克隆失败,请联系管理员");
}
return R.ok();

@ -5,6 +5,7 @@ import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.dxhy.order.baseservice.config.BaseServiceConfig;
import com.dxhy.order.baseservice.config.UserCenterConfig;
import com.dxhy.order.baseservice.module.buyer.protocol.GmfxxcxReqBO;
import com.dxhy.order.baseservice.module.buyer.protocol.GmfxxcxRspBO;
import com.dxhy.order.baseservice.module.buyer.protocol.GmfxxtbReqBO;
@ -103,6 +104,9 @@ public class InvoiceRestApiV6 {
@Resource
private UserInfoService userInfoService;
@Resource
private UserCenterConfig userCenterConfig;
@Resource
private InvoiceConfig invoiceConfig;
@Value("${jx.jxUrl}")
@ -417,9 +421,25 @@ public class InvoiceRestApiV6 {
log.info("同步报账单引用发票信息推送给税控系统数据返回:{}",result);
return result;
} else if(ConfigurerInfo.SYNC_DEPT_INFO.equals(interfaceName)) {
// /api/sys/dept/update
String s = HttpUtils.doPost(invoiceConfig.getSysUrl(), reqStr);
return s;
// /itaxAdmin/api/sys/dept/batchUpdate
String s = "";
JSONObject jsonObject = new JSONObject();
jsonObject.put("ZTYPE","S");
jsonObject.put("ZMESSAGE","处理成功");
try {
String sysUrl = userCenterConfig.getBigBSsoUrl() + "/api/sys/dept/batchUpdate";
s = HttpUtils.doPost(sysUrl, reqStr);
JSONObject jsonObject1 = JSONObject.parseObject(s);
if(!CollectionUtils.isEmpty(jsonObject1.getJSONArray("data"))){
jsonObject.put("ZTYPE","E");
jsonObject.put("ZMESSAGE","处理失败");
jsonObject.put("ZDATA",jsonObject1.getString("data"));
}
} catch (Exception e) {
jsonObject.put("ZTYPE","E");
jsonObject.put("ZMESSAGE","处理失败");
}
return jsonObject.toJSONString();
}else{
returnJsonString = "";
}

Loading…
Cancel
Save